[tracker: 1/2] build: Add an option to control building tests




commit db36d010737d5eeceff300e3dd5e315c5d0382a2
Author: Matt Turner <mattst88 gmail com>
Date:   Wed Feb 16 10:59:33 2022 -0800

    build: Add an option to control building tests
    
    Commit 8569c99d2926 ("Look for a Python installation with the tap
    module") correctly added a dependency on the gi Python module for tests.
    Commit 51ca035697a4 ("Make tracker:endpoint test work on macOS")
    restructured Python probing by moving it to the top-level meson.build.
    
    These two commits have the side-effect of exposing the fact that the
    gi Python module is really only a test dependency, and should not be
    required if building without tests.
    
    As such, add a -Dtests=bool option to disable building tests. This
    reduces the number of ninja targets from 232 to 188 on my non-test
    build.

 meson.build       | 13 +++++++++----
 meson_options.txt |  2 ++
 2 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/meson.build b/meson.build
index 4e59b8240..f4dd58fd4 100644
--- a/meson.build
+++ b/meson.build
@@ -75,9 +75,12 @@ if get_option('man')
   a2x = find_program('a2x')
 endif
 
-py_modules = ['gi']
-if get_option('tests_tap_protocol')
-  py_modules += 'tap'
+py_modules = []
+if get_option('tests')
+  py_modules += 'gi'
+  if get_option('tests_tap_protocol')
+    py_modules += 'tap'
+  endif
 endif
 python = import('python').find_installation('python3', modules: py_modules)
 
@@ -358,7 +361,9 @@ tracker_uninstalled_nepomuk_ontologies_dir = join_paths(meson.current_source_dir
 tracker_uninstalled_stop_words_dir = join_paths(meson.current_source_dir(), 'src', 'libtracker-common', 
'stop-words')
 tracker_uninstalled_testutils_dir = join_paths(meson.current_source_dir(), 'utils')
 
-subdir('tests')
+if get_option('tests')
+  subdir('tests')
+endif
 subdir('examples')
 
 subdir('po')
diff --git a/meson_options.txt b/meson_options.txt
index a7e647d02..ec8ea8bc2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,6 +20,8 @@ option('systemd_user_services', type: 'boolean', value: true, yield: true,
        description: 'Whether to install systemd user .service files')
 option('systemd_user_services_dir', type: 'string', value: '', yield: true,
        description: 'Directory to install systemd user unit files (or empty to use default)')
+option('tests', type: 'boolean', value: true,
+       description: 'Whether to build tests')
 option('test_utils', type: 'boolean', value: true,
        description: 'Whether to install the trackertestutils Python package')
 option('test_utils_dir', type: 'string', value: '',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]