aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2019-01-18 23:32:10 +0100
committerLibravatar emersion <contact@emersion.fr>2019-01-18 23:47:46 +0100
commit35d73345d9a4fb60dcf791a88d8abfe62d95a142 (patch)
treec176209dc608e5c9db4a7d1e69a61d1cd9fd78df /meson.build
parentMerge pull request #3452 from emersion/meson-features (diff)
downloadsway-35d73345d9a4fb60dcf791a88d8abfe62d95a142.tar.gz
sway-35d73345d9a4fb60dcf791a88d8abfe62d95a142.tar.zst
sway-35d73345d9a4fb60dcf791a88d8abfe62d95a142.zip
meson: make sure wlroots has been built with xwayland
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build17
1 files changed, 15 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index bb1c4ddf..0d0f7339 100644
--- a/meson.build
+++ b/meson.build
@@ -36,7 +36,6 @@ endif
36 36
37jsonc = dependency('json-c', version: '>=0.13') 37jsonc = dependency('json-c', version: '>=0.13')
38pcre = dependency('libpcre') 38pcre = dependency('libpcre')
39wlroots = dependency('wlroots', fallback: ['wlroots', 'wlroots'])
40wayland_server = dependency('wayland-server') 39wayland_server = dependency('wayland-server')
41wayland_client = dependency('wayland-client') 40wayland_client = dependency('wayland-client')
42wayland_cursor = dependency('wayland-cursor') 41wayland_cursor = dependency('wayland-cursor')
@@ -57,7 +56,21 @@ math = cc.find_library('m')
57rt = cc.find_library('rt') 56rt = cc.find_library('rt')
58git = find_program('git', required: false) 57git = find_program('git', required: false)
59 58
60have_xwayland = xcb.found() 59# Try first to find wlroots as a subproject, then as a system dependency
60wlroots_proj = subproject('wlroots', required: false)
61if wlroots_proj.found()
62 wlroots = wlroots_proj.get_variable('wlroots')
63 wlroots_conf = wlroots_proj.get_variable('conf_data')
64 wlroots_has_xwayland = wlroots_conf.get('WLR_HAS_XWAYLAND') == 1
65else
66 wlroots = dependency('wlroots')
67 wlroots_has_xwayland = cc.get_define('WLR_HAS_XWAYLAND', prefix: '#include <wlr/config.h>', dependencies: wlroots) == '1'
68endif
69
70if get_option('xwayland').enabled() and not wlroots_has_xwayland
71 error('Cannot enable Xwayland in sway: wlroots has been built without Xwayland support')
72endif
73have_xwayland = xcb.found() and wlroots_has_xwayland
61 74
62tray_deps_found = systemd.found() or elogind.found() 75tray_deps_found = systemd.found() or elogind.found()
63if get_option('tray').enabled() and not tray_deps_found 76if get_option('tray').enabled() and not tray_deps_found