wlroots-hyprland/backend/session/meson.build
Simon Ser 6f873078d4 build: use dictionnary for features instead of configuration_data
This allows us to easily iterate on all features and only deal with
bools.
2021-02-15 16:32:33 +01:00

73 lines
1.9 KiB
Meson

wlr_files += files(
'direct-ipc.c',
'noop.c',
'session.c',
)
if host_machine.system().startswith('freebsd')
wlr_files += files('direct-freebsd.c')
else
wlr_files += files('direct.c')
endif
# logind
msg = []
if get_option('logind').enabled()
msg += 'Install "lib@0@" or pass "-Dlogind=disabled".'
endif
if not get_option('logind').disabled()
msg += 'Required for logind support.'
msg += 'You may need to pass "-Dlogind-provider=elogind" or "-Dlogind-provider=systemd" to ensure the correct library is detected.'
endif
logind_version = '>=237'
logind_found = false
if get_option('logind-provider') == 'auto'
if not get_option('logind').disabled()
assert(get_option('auto_features').auto(), '-Dlogind-provider must be set to systemd or elogind since auto_features != auto')
logind = dependency('libsystemd',
required: get_option('logind'),
not_found_message: 'libsystemd not found, trying libelogind\n' + '\n'.join(msg),
version: logind_version,
)
if logind.found()
features += { 'systemd': true }
else
logind = dependency('libelogind',
required: get_option('logind'),
not_found_message: 'libelogind not found\n' + '\n'.join(msg),
version: logind_version,
)
if logind.found()
features += { 'elogind': true }
endif
endif
logind_found = logind.found()
endif
else
logind = dependency('lib' + get_option('logind-provider'),
required: get_option('logind'),
not_found_message: '\n'.join(msg).format(get_option('logind-provider')),
version: logind_version,
)
if logind.found()
features += { get_option('logind-provider'): true }
logind_found = true
endif
endif
if logind_found
wlr_files += files('logind.c')
wlr_deps += logind
endif
# libseat
libseat = dependency('libseat', required: get_option('libseat'), version: '>=0.2.0')
if libseat.found()
wlr_files += files('libseat.c')
wlr_deps += libseat
features += { 'libseat': true }
endif