mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 04:45:58 +01:00
build: use dictionnary for features instead of configuration_data
This allows us to easily iterate on all features and only deal with bools.
This commit is contained in:
parent
2118a3ce47
commit
6f873078d4
7 changed files with 26 additions and 29 deletions
|
@ -33,7 +33,7 @@ if get_option('logind-provider') == 'auto'
|
|||
version: logind_version,
|
||||
)
|
||||
if logind.found()
|
||||
conf_data.set10('WLR_HAS_SYSTEMD', true)
|
||||
features += { 'systemd': true }
|
||||
else
|
||||
logind = dependency('libelogind',
|
||||
required: get_option('logind'),
|
||||
|
@ -41,7 +41,7 @@ if get_option('logind-provider') == 'auto'
|
|||
version: logind_version,
|
||||
)
|
||||
if logind.found()
|
||||
conf_data.set10('WLR_HAS_ELOGIND', true)
|
||||
features += { 'elogind': true }
|
||||
endif
|
||||
endif
|
||||
logind_found = logind.found()
|
||||
|
@ -53,7 +53,7 @@ else
|
|||
version: logind_version,
|
||||
)
|
||||
if logind.found()
|
||||
conf_data.set10('WLR_HAS_' + get_option('logind-provider').to_upper(), true)
|
||||
features += { get_option('logind-provider'): true }
|
||||
logind_found = true
|
||||
endif
|
||||
endif
|
||||
|
@ -69,5 +69,5 @@ libseat = dependency('libseat', required: get_option('libseat'), version: '>=0.2
|
|||
if libseat.found()
|
||||
wlr_files += files('libseat.c')
|
||||
wlr_deps += libseat
|
||||
conf_data.set10('WLR_HAS_LIBSEAT', true)
|
||||
features += { 'libseat': true }
|
||||
endif
|
||||
|
|
|
@ -35,4 +35,4 @@ wlr_files += files(
|
|||
'output.c',
|
||||
)
|
||||
wlr_deps += x11_libs
|
||||
conf_data.set10('WLR_HAS_X11_BACKEND', true)
|
||||
features += { 'x11-backend': true }
|
||||
|
|
|
@ -5,6 +5,11 @@ version_data.set('WLR_VERSION_MAJOR', version_array[0])
|
|||
version_data.set('WLR_VERSION_MINOR', version_array[1])
|
||||
version_data.set('WLR_VERSION_MICRO', version_array[2])
|
||||
|
||||
conf_data = configuration_data()
|
||||
foreach name, have : features
|
||||
conf_data.set10('WLR_HAS_' + name.underscorify().to_upper(), have)
|
||||
endforeach
|
||||
|
||||
conf_h = configure_file(
|
||||
input: 'config.h.in',
|
||||
output: 'config.h',
|
||||
|
|
32
meson.build
32
meson.build
|
@ -79,15 +79,16 @@ else
|
|||
)
|
||||
endif
|
||||
|
||||
conf_data = configuration_data()
|
||||
conf_data.set10('WLR_HAS_SYSTEMD', false)
|
||||
conf_data.set10('WLR_HAS_ELOGIND', false)
|
||||
conf_data.set10('WLR_HAS_LIBSEAT', false)
|
||||
conf_data.set10('WLR_HAS_X11_BACKEND', false)
|
||||
conf_data.set10('WLR_HAS_XWAYLAND', false)
|
||||
conf_data.set10('WLR_HAS_XCB_ERRORS', false)
|
||||
conf_data.set10('WLR_HAS_XCB_ICCCM', false)
|
||||
conf_data.set10('WLR_HAS_XDG_FOREIGN', false)
|
||||
features = {
|
||||
'systemd': false,
|
||||
'elogind': false,
|
||||
'libseat': false,
|
||||
'x11-backend': false,
|
||||
'xwayland': false,
|
||||
'xcb-errors': false,
|
||||
'xcb-icccm': false,
|
||||
'xdg-foreign': false,
|
||||
}
|
||||
|
||||
wayland_server = dependency('wayland-server', version: '>=1.19')
|
||||
wayland_client = dependency('wayland-client')
|
||||
|
@ -107,7 +108,7 @@ if not get_option('xdg-foreign').disabled()
|
|||
uuid = dependency('uuid', required: false)
|
||||
uuid_create = cc.has_function('uuid_create')
|
||||
if uuid.found() or uuid_create
|
||||
conf_data.set10('WLR_HAS_XDG_FOREIGN', true)
|
||||
features += { 'xdg-foreign': true }
|
||||
elif get_option('xdg-foreign').enabled()
|
||||
error('Missing dependency uuid and uuid_create function not available ' +
|
||||
'cannot build with xdg-foreign support')
|
||||
|
@ -165,16 +166,7 @@ wlroots = declare_dependency(
|
|||
|
||||
meson.override_dependency('wlroots', wlroots)
|
||||
|
||||
summary({
|
||||
'systemd': conf_data.get('WLR_HAS_SYSTEMD', 0) == 1,
|
||||
'elogind': conf_data.get('WLR_HAS_ELOGIND', 0) == 1,
|
||||
'libseat': conf_data.get('WLR_HAS_LIBSEAT', 0) == 1,
|
||||
'xwayland': conf_data.get('WLR_HAS_XWAYLAND', 0) == 1,
|
||||
'x11-backend': conf_data.get('WLR_HAS_X11_BACKEND', 0) == 1,
|
||||
'xcb-icccm': conf_data.get('WLR_HAS_XCB_ICCCM', 0) == 1,
|
||||
'xcb-errors': conf_data.get('WLR_HAS_XCB_ERRORS', 0) == 1,
|
||||
'xdg-foreign': conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1,
|
||||
}, bool_yn: true)
|
||||
summary(features, bool_yn: true)
|
||||
|
||||
if get_option('examples')
|
||||
subdir('examples')
|
||||
|
|
|
@ -67,7 +67,7 @@ wlr_files += files(
|
|||
'wlr_xdg_output_v1.c',
|
||||
)
|
||||
|
||||
if conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1
|
||||
if features.get('xdg-foreign')
|
||||
wlr_files += files(
|
||||
'wlr_xdg_foreign_v1.c',
|
||||
'wlr_xdg_foreign_v2.c',
|
||||
|
|
|
@ -9,7 +9,7 @@ wlr_files += files(
|
|||
)
|
||||
|
||||
|
||||
if conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1
|
||||
if features.get('xdg-foreign')
|
||||
if uuid.found()
|
||||
wlr_deps += uuid
|
||||
add_project_arguments('-DHAS_LIBUUID=1', language: 'c')
|
||||
|
|
|
@ -45,7 +45,7 @@ foreach lib, desc : xwayland_optional
|
|||
)
|
||||
if dep.found()
|
||||
xwayland_libs += dep
|
||||
conf_data.set10('WLR_HAS_' + lib.underscorify().to_upper(), true)
|
||||
features += { lib: true }
|
||||
endif
|
||||
endforeach
|
||||
|
||||
|
@ -60,4 +60,4 @@ wlr_files += files(
|
|||
'xwm.c',
|
||||
)
|
||||
wlr_deps += xwayland_libs
|
||||
conf_data.set10('WLR_HAS_XWAYLAND', true)
|
||||
features += { 'xwayland': true }
|
||||
|
|
Loading…
Reference in a new issue