diff --git a/meson.build b/meson.build index f2ad7c0..1be3b20 100644 --- a/meson.build +++ b/meson.build @@ -24,7 +24,7 @@ version_suffix = '' if get_option('profile') == 'development' profile = '.Devel' - vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip() + vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip() if vcs_tag == '' version_suffix = '-devel' else @@ -56,7 +56,7 @@ subdir('po') # Pre-commit hook for rust formatting if get_option('profile') == 'development' message('Setting up git pre-commit hook..') - run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit') + run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit', check: false) endif gnome.post_install( diff --git a/src/meson.build b/src/meson.build index 58a9b65..8433c91 100644 --- a/src/meson.build +++ b/src/meson.build @@ -27,22 +27,32 @@ else message('Building in debug mode') endif -cargo_env = [ 'CARGO_HOME=' + build_root / 'cargo-home' ] +cargo_env = { 'CARGO_HOME': build_root / 'cargo-home' } -cargo_release = custom_target( +cargo_build = custom_target( 'cargo-build', build_by_default: true, build_always_stale: true, - output: meson.project_name(), + output: 'src', console: true, - install: true, - install_dir: get_option('bindir'), + env: cargo_env, command: [ - 'env', - cargo_env, cargo, 'build', cargo_options, - '&&', - 'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@', ] ) + +copy_binary = custom_target( + 'cp-binary', + depends: cargo_build, + build_by_default: true, + build_always_stale: true, + install: true, + install_dir: get_option('bindir'), + output: meson.project_name(), + command: [ + 'cp', + 'src' / rust_target / meson.project_name(), + '@OUTPUT@', + ], +)