diff options
author | Simon Ser <contact@emersion.fr> | 2022-01-18 13:41:01 +0100 |
---|---|---|
committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2022-01-18 13:57:50 -0500 |
commit | a1905c6a087fa428d86f42c81333f5ad2abee6c8 (patch) | |
tree | dd71080c4f5b036202b40636bb215bb4598c7fee | |
parent | e4909ab4a3514d9b3bfb01473cd3cd1704c8cd05 (diff) |
build: execute wlroots subproject before finding deps
wlroots often requires dependencies more recent than Sway's.
Executing the wlroots subproject first will give Meson a chance to
find these newer dependencies, possibly via subprojects.
The subproject will override the "wlroots" dependency when executed,
so we don't need to use get_variable anymore.
References: https://github.com/swaywm/sway/pull/6498#issuecomment-1001746017
-rw-r--r-- | meson.build | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/meson.build b/meson.build index b226ac83..71183007 100644 --- a/meson.build +++ b/meson.build @@ -35,6 +35,15 @@ if is_freebsd add_project_arguments('-D_C11_SOURCE', language: 'c') endif +# Execute the wlroots subproject, if any +wlroots_version = ['>=0.16.0', '<0.17.0'] +subproject( + 'wlroots', + default_options: ['examples=false'], + required: false, + version: wlroots_version, +) + jsonc = dependency('json-c', version: '>=0.13') pcre = dependency('libpcre') wayland_server = dependency('wayland-server', version: '>=1.20.0') @@ -42,6 +51,7 @@ wayland_client = dependency('wayland-client') wayland_cursor = dependency('wayland-cursor') wayland_egl = dependency('wayland-egl') wayland_protos = dependency('wayland-protocols', version: '>=1.24') +wlroots = dependency('wlroots', version: wlroots_version) xkbcommon = dependency('xkbcommon') cairo = dependency('cairo') pango = dependency('pango') @@ -60,20 +70,6 @@ fish_comp = dependency('fish', required: false) math = cc.find_library('m') rt = cc.find_library('rt') -# Try first to find wlroots as a subproject, then as a system dependency -wlroots_version = ['>=0.16.0', '<0.17.0'] -wlroots_proj = subproject( - 'wlroots', - default_options: ['examples=false'], - required: false, - version: wlroots_version, -) -if wlroots_proj.found() - wlroots = wlroots_proj.get_variable('wlroots') -else - wlroots = dependency('wlroots', version: wlroots_version) -endif - wlroots_features = { 'xwayland': false, } |