add false option for tests (#7778)

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.
This commit is contained in:
Adam Duskett 2018-01-15 06:25:46 -05:00 committed by Zbigniew Jędrzejewski-Szmek
parent 38edb7674b
commit 08318a2c5a
2 changed files with 10 additions and 7 deletions

View File

@ -260,10 +260,12 @@ cc = meson.get_compiler('c')
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',
@ -2404,8 +2406,9 @@ foreach tuple : tests
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,

View File

@ -285,7 +285,7 @@ option('bashcompletiondir', type : 'string',
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')