summaryrefslogtreecommitdiff
blob: 95428184c2f5dc954d108f2704052ddf25fc0827 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
From 7820465f078e9655af70036d8c570fd644b38f22 Mon Sep 17 00:00:00 2001
From: Martin Gysel <me@bearsh.org>
Date: Thu, 19 Nov 2020 07:04:10 +0100
Subject: [PATCH 1/2] add test feature and make tests optional

---
 meson.build       | 14 ++++++++++----
 meson_options.txt |  4 ++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index 66aa2f7..ba44788 100644
--- a/meson.build
+++ b/meson.build
@@ -125,7 +125,7 @@ endif
 polkit_policy_directory = polkit_gobject_dep.get_pkgconfig_variable('policydir')
 
 # Tests dependencies
-pam_wrapper_dep = dependency('pam_wrapper', required: get_option('pam'))
+pam_wrapper_dep = dependency('pam_wrapper', required: get_option('pam') and get_option('test').enabled() )
 
 xmllint = find_program('xmllint', required: false)
 python3 = find_program('python3') # No meson without it!
@@ -139,11 +139,13 @@ python3_test_modules = {
 }
 python3_available_modules = []
 
+if get_option('test').enabled()
 foreach module, required : python3_test_modules
     if required and run_command(python3, '-c', 'import @0@'.format(module)).returncode() != 0
         error('Python3 module \'' + module + '\' required by test suite not found')
     endif
 endforeach
+endif
 
 cdata = configuration_data()
 cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
@@ -167,7 +169,9 @@ endif
 if get_option('gtk_doc')
     subdir('doc')
 endif
-subdir('tests')
+if get_option('test').enabled()
+    subdir('tests')
+endif
 subdir('po')
 
 output = []
@@ -189,7 +193,9 @@ output += '  PAM module: ' + pam_dep.found().to_string()
 output += '  Manuals: ' + get_option('man').to_string()
 output += '  GTK Doc: ' + get_option('gtk_doc').to_string()
 output += '  XML Linter ' + xmllint.found().to_string()
-output += '\nTest setup:\n'
-output += '  With address sanitizer: ' + address_sanitizer.to_string()
+if get_option('test').enabled()
+    output += '\nTest setup:\n'
+    output += '  With address sanitizer: ' + address_sanitizer.to_string()
+endif
 
 message('\n'+'\n'.join(output)+'\n')
diff --git a/meson_options.txt b/meson_options.txt
index be31fe1..92c01cd 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -19,3 +19,7 @@ option('gtk_doc',
     type: 'boolean',
     value: false,
     description: 'Use gtk-doc to build documentation')
+option('test',
+    type: 'feature',
+    value: 'disabled',
+    description: 'Enable tests')
-- 
2.29.2