|
3 | 3 | project('cdba', |
4 | 4 | 'c', |
5 | 5 | license : [ 'BSD-3-Clause'], |
6 | | - meson_version : '>= 0.43.0', # for compiler.get_supported_arguments() |
| 6 | + meson_version : '>= 0.47.0', # for feature user options |
7 | 7 | default_options: [ |
8 | 8 | 'warning_level=2', # sets -Wextra |
9 | 9 | 'buildtype=release', |
@@ -47,14 +47,16 @@ executable('cdba', |
47 | 47 | client_srcs, |
48 | 48 | install : true) |
49 | 49 |
|
| 50 | +server_opt = get_option('server') |
| 51 | + |
50 | 52 | ftdi_dep = dependency('libftdi1', required: false) |
51 | 53 | if not ftdi_dep.found() |
52 | | - ftdi_dep = dependency('libftdi') |
| 54 | + ftdi_dep = dependency('libftdi', required: server_opt) |
53 | 55 | endif |
54 | 56 |
|
55 | | -gpiod_dep = dependency('libgpiod') |
56 | | -server_deps = [dependency('libudev'), |
57 | | - dependency('yaml-0.1'), |
| 57 | +gpiod_dep = dependency('libgpiod', required: server_opt) |
| 58 | +server_deps = [dependency('libudev', required: server_opt), |
| 59 | + dependency('yaml-0.1', required: server_opt), |
58 | 60 | gpiod_dep, |
59 | 61 | ftdi_dep] |
60 | 62 | server_srcs = ['cdba-server.c', |
|
78 | 80 | server_srcs += ['local-gpio-v1.c'] |
79 | 81 | endif |
80 | 82 |
|
81 | | -executable('cdba-server', |
82 | | - server_srcs, |
83 | | - dependencies : server_deps, |
84 | | - install : true) |
| 83 | +build_server = true |
| 84 | +foreach d: server_deps |
| 85 | + if not d.found() |
| 86 | + build_server = false |
| 87 | + endif |
| 88 | +endforeach |
| 89 | + |
| 90 | +if build_server |
| 91 | + executable('cdba-server', |
| 92 | + server_srcs, |
| 93 | + dependencies : server_deps, |
| 94 | + install : true) |
| 95 | +elif not server_opt.disabled() |
| 96 | + message('Skipping CDBA server build') |
| 97 | +endif |
0 commit comments