meson: add option to install tests
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 8 Apr 2017 05:55:38 +0000 (01:55 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 24 Apr 2017 01:47:26 +0000 (21:47 -0400)
Instead of a separate target as with make, it is decided at configure time
whether to install tests as part of the install target. The effect should be
the same.

meson.build
meson_options.txt

index f7bcf48..fc03f68 100644 (file)
@@ -892,6 +892,7 @@ foreach pair : [['utmp',          'HAVE_UTMP'],
 endforeach
 
 want_tests = get_option('tests')
+install_tests = get_option('install-tests')
 tests = []
 
 #####################################################################
@@ -1870,13 +1871,18 @@ foreach tuple : tests
   name = sources[0].split('/')[-1].split('.')[0]
 
   if condition == '' or conf.get(condition, 0) == 1
+    install = install_tests and type == ''
+
     exe = executable(
         name,
         sources,
         include_directories : incs,
         link_with : link_with,
         dependencies : dependencies,
-        c_args : defs)
+        c_args : defs,
+        install : install,
+        install_dir : testsdir)
+
     if type == 'manual'
       message('@0@ is a manual test'.format(name))
     elif type == 'unsafe' and want_tests != 'unsafe'
index 9295b9c..981eace 100644 (file)
@@ -201,3 +201,5 @@ option('zshcompletiondir', type : 'string',
 
 option('tests', type : 'combo', choices : ['yes', 'unsafe'],
        description : 'enable extra tests with =unsafe')
+option('install-tests', type : 'boolean', value : 'false',
+       description : 'install test executables')