build: Add ci profile that uses --release
As we add more rust crates in performance-critical places, we run into some performance issues with debug builds. This makes it hard to get a good feel for the performance of the application, as something may be slow simply because it's not been optimized by the compiler. This commit adds a ci profile to our meson options, and adjusts our CI configuration to use it. Regular builds should continue to use the development profile. Also renames `default` to `release`
This commit is contained in:
parent
6857f2c921
commit
5bcf534142
4 changed files with 11 additions and 8 deletions
|
|
@ -7,6 +7,7 @@ variables:
|
||||||
MANIFEST_PATH: "build-aux/flatpak/org.gnome.Loupe.Devel.json"
|
MANIFEST_PATH: "build-aux/flatpak/org.gnome.Loupe.Devel.json"
|
||||||
FLATPAK_MODULE: "loupe"
|
FLATPAK_MODULE: "loupe"
|
||||||
APP_ID: "org.gnome.Loupe.Devel"
|
APP_ID: "org.gnome.Loupe.Devel"
|
||||||
|
CONFIG_OPTS: "-Dprofile=ci"
|
||||||
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
||||||
|
|
||||||
flatpak:
|
flatpak:
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ iv_pkgdatadir = iv_datadir / meson.project_name()
|
||||||
profile = ''
|
profile = ''
|
||||||
version_suffix = ''
|
version_suffix = ''
|
||||||
|
|
||||||
if get_option('profile') == 'development'
|
if get_option('profile') != 'release'
|
||||||
profile = '.Devel'
|
profile = '.Devel'
|
||||||
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip()
|
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip()
|
||||||
if vcs_tag == ''
|
if vcs_tag == ''
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
option(
|
option(
|
||||||
'profile',
|
'profile',
|
||||||
type: 'combo',
|
type: 'combo',
|
||||||
|
description: 'The build profiles for the application. Use development or ci for the .Devel app ID. ci also produces optimized bundles.',
|
||||||
choices: [
|
choices: [
|
||||||
'default',
|
'release',
|
||||||
'development'
|
'development',
|
||||||
|
'ci',
|
||||||
],
|
],
|
||||||
value: 'default'
|
value: 'release'
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@ run_command(
|
||||||
cargo_options = [ '--manifest-path', source_root / 'Cargo.toml' ]
|
cargo_options = [ '--manifest-path', source_root / 'Cargo.toml' ]
|
||||||
cargo_options += [ '--target-dir', build_root / 'src' ]
|
cargo_options += [ '--target-dir', build_root / 'src' ]
|
||||||
|
|
||||||
if get_option('profile') == 'default'
|
if get_option('profile') == 'development'
|
||||||
|
rust_target = 'debug'
|
||||||
|
message('Building in debug mode')
|
||||||
|
else
|
||||||
cargo_options += [ '--release' ]
|
cargo_options += [ '--release' ]
|
||||||
rust_target = 'release'
|
rust_target = 'release'
|
||||||
message('Building in release mode')
|
message('Building in release mode')
|
||||||
else
|
|
||||||
rust_target = 'debug'
|
|
||||||
message('Building in debug mode')
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cargo_env = { 'CARGO_HOME': build_root / 'cargo-home' }
|
cargo_env = { 'CARGO_HOME': build_root / 'cargo-home' }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue