Currently there is no way to prevent tests from building using meson.
This introduces two problems:
1) It adds a extra 381 files to compile.
2) One of these tests explicitly requires libgcrypt to be built even if systemd
is not using it.
3) It adds C++ to the requirements to build systemd.
When cross-compiling, this is uneccessary.
pkgconfig = import('pkgconfig')
check_compilation_sh = find_program('tools/meson-check-compilation.sh')
-cxx = find_program('c++', required : false)
-if cxx.found()
- # Used only for tests
- add_languages('cpp')
+if get_option('tests') != 'false'
+ cxx = find_program('c++', required : false)
+ if cxx.found()
+ # Used only for tests
+ add_languages('cpp')
+ endif
endif
foreach arg : ['-Wextra',
timeout = type.split('=')[1].to_int()
type = ''
endif
-
- if condition == '' or conf.get(condition) == 1
+ if want_tests == 'false'
+ message('Not compiling @0@ because tests is set to false'.format(name))
+ elif condition == '' or conf.get(condition) == 1
exe = executable(
name,
sources,
option('zshcompletiondir', type : 'string',
description : 'directory for zsh completion scripts ["no" disables]')
-option('tests', type : 'combo', choices : ['true', 'unsafe'],
+option('tests', type : 'combo', choices : ['true', 'unsafe', 'false'],
description : 'enable extra tests with =unsafe')
option('slow-tests', type : 'boolean', value : 'false',
description : 'run the slow tests by default')