build: use list for sdbus dep

This allows to simplify our logic. Meson will pick the first found
library.
This commit is contained in:
Simon Ser 2021-10-24 21:34:36 +02:00 committed by Simon Zeni
parent 0cd8efe0bb
commit 02b412a3d4

View File

@ -3,7 +3,7 @@ project(
'c', 'c',
version: '1.6', version: '1.6',
license: 'MIT', license: 'MIT',
meson_version: '>=0.59.0', meson_version: '>=0.60.0',
default_options: [ default_options: [
'c_std=c11', 'c_std=c11',
'warning_level=2', 'warning_level=2',
@ -92,30 +92,15 @@ if get_option('sd-bus-provider') == 'auto'
if not get_option('tray').disabled() if not get_option('tray').disabled()
assert(get_option('auto_features').auto(), 'sd-bus-provider must not be set to auto since auto_features != auto') assert(get_option('auto_features').auto(), 'sd-bus-provider must not be set to auto since auto_features != auto')
endif endif
sdbus = dependency('libsystemd', sdbus = dependency(['libsystemd', 'libelogind', 'basu'],
required: false, required: get_option('tray'),
version: '>=239', version: '>=239',
not_found_message: 'libsystemd not found, trying libelogind',
) )
if not sdbus.found()
sdbus = dependency('libelogind',
required: false,
version: '>=239',
not_found_message: 'libelogind not found, trying basu',
)
endif
if not sdbus.found()
sdbus = dependency('basu', required: false)
endif
else else
sdbus = dependency(get_option('sd-bus-provider'), required: get_option('tray')) sdbus = dependency(get_option('sd-bus-provider'), required: get_option('tray'))
endif endif
tray_deps_found = sdbus.found() have_tray = sdbus.found()
if get_option('tray').enabled() and not tray_deps_found
error('Building with -Dtray=enabled, but sd-bus has not been not found')
endif
have_tray = (not get_option('tray').disabled()) and tray_deps_found
conf_data = configuration_data() conf_data = configuration_data()