meson.build: allow disabling building the various tools
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 13 Mar 2024 03:56:16 +0000 (13:56 +1000)
committerduna.oh <duna.oh@samsung.com>
Thu, 20 Feb 2025 02:27:35 +0000 (11:27 +0900)
A bit of a niche case but this helps with embedding libevdev as static
library when the tools don't matter.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
meson.build
meson_options.txt

index e99d551a82f4c9d5aaf764460bfbfc7dcd30f8ba..85ecbe20931ee5fc54ff7b56d6f42905947bb09e 100644 (file)
@@ -102,34 +102,36 @@ install_man(manpage)
 
 
 # tools
-executable('libevdev-events',
-          sources: ['tools/libevdev-events.c'],
-          include_directories: [includes_include],
-          dependencies: dep_libevdev,
-          install: false)
-executable('libevdev-list-codes',
-          sources: ['tools/libevdev-list-codes.c'],
-          include_directories: [includes_include],
-          dependencies: dep_libevdev,
-          install: false)
-executable('touchpad-edge-detector',
-          sources: ['tools/touchpad-edge-detector.c'],
-          include_directories: [includes_include],
-          dependencies: [dep_libevdev, dep_lm],
-           install: true)
-executable('mouse-dpi-tool',
-          sources: ['tools/mouse-dpi-tool.c'],
-          include_directories: [includes_include],
-          dependencies: dep_libevdev,
-           install: true)
-executable('libevdev-tweak-device',
-          sources: ['tools/libevdev-tweak-device.c'],
-          include_directories: [includes_include],
-          dependencies: dep_libevdev,
-          install: true)
-install_man('tools/libevdev-tweak-device.1',
-           'tools/touchpad-edge-detector.1',
-           'tools/mouse-dpi-tool.1')
+if not get_option('tools').disabled()
+       executable('libevdev-events',
+                  sources: ['tools/libevdev-events.c'],
+                  include_directories: [includes_include],
+                  dependencies: dep_libevdev,
+                  install: false)
+       executable('libevdev-list-codes',
+                  sources: ['tools/libevdev-list-codes.c'],
+                  include_directories: [includes_include],
+                  dependencies: dep_libevdev,
+                  install: false)
+       executable('touchpad-edge-detector',
+                  sources: ['tools/touchpad-edge-detector.c'],
+                  include_directories: [includes_include],
+                  dependencies: [dep_libevdev, dep_lm],
+                  install: true)
+       executable('mouse-dpi-tool',
+                  sources: ['tools/mouse-dpi-tool.c'],
+                  include_directories: [includes_include],
+                  dependencies: dep_libevdev,
+                  install: true)
+       executable('libevdev-tweak-device',
+                  sources: ['tools/libevdev-tweak-device.c'],
+                  include_directories: [includes_include],
+                  dependencies: dep_libevdev,
+                  install: true)
+       install_man('tools/libevdev-tweak-device.1',
+                   'tools/touchpad-edge-detector.1',
+                   'tools/mouse-dpi-tool.1')
+endif
 endif
 
 # tests
index 86b66a92b9d724b4906bf27f983018925ed40178..0bacaff41f9e5c63649f8cefbdd9ff84144793e9 100644 (file)
@@ -2,6 +2,10 @@ option('tests',
        type: 'feature',
        value: 'enabled',
        description: 'Build the tests')
+option('tools',
+       type: 'feature',
+       value: 'enabled',
+       description: 'Build the tools')
 option('documentation',
        type: 'feature',
        value: 'enabled',
@@ -13,4 +17,5 @@ option('coverity',
 option('tools-enable',
        type: 'boolean',
        value: true,
-       description: 'Building tools')
\ No newline at end of file
+       description: 'Building tools')
+