aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meson.build16
-rw-r--r--meson_options.txt4
-rw-r--r--sway/meson.build2
-rw-r--r--swaybar/meson.build4
4 files changed, 16 insertions, 10 deletions
diff --git a/meson.build b/meson.build
index 2285cbdf..8acf0f2c 100644
--- a/meson.build
+++ b/meson.build
@@ -2,6 +2,7 @@ project(
'sway',
'c',
license: 'MIT',
+ meson_version: '>=0.48.0',
default_options: [
'c_std=c11',
'warning_level=2',
@@ -53,21 +54,26 @@ libpam = cc.find_library('pam', required: false)
crypt = cc.find_library('crypt', required: false)
systemd = dependency('libsystemd', required: false)
elogind = dependency('libelogind', required: false)
+xcb = dependency('xcb', required: get_option('xwayland'))
math = cc.find_library('m')
rt = cc.find_library('rt')
git = find_program('git', required: false)
-conf_data = configuration_data()
+have_xwayland = xcb.found()
-conf_data.set10('HAVE_XWAYLAND', get_option('enable-xwayland'))
-if get_option('enable-xwayland')
- xcb = dependency('xcb')
+tray_deps_found = systemd.found() or elogind.found()
+if get_option('tray').enabled() and not tray_deps_found
+ error('Building with -Dtray=enabled, but libsystemd and libelogind have not been not found')
endif
+have_tray = (not get_option('tray').disabled()) and tray_deps_found
+
+conf_data = configuration_data()
+conf_data.set10('HAVE_XWAYLAND', have_xwayland)
conf_data.set10('HAVE_GDK_PIXBUF', gdk_pixbuf.found())
conf_data.set10('HAVE_SYSTEMD', systemd.found())
conf_data.set10('HAVE_ELOGIND', elogind.found())
-conf_data.set10('HAVE_TRAY', get_option('enable-tray') and (systemd.found() or elogind.found()))
+conf_data.set10('HAVE_TRAY', have_tray)
if not systemd.found() and not elogind.found()
warning('The sway binary must be setuid when compiled without (e)logind')
diff --git a/meson_options.txt b/meson_options.txt
index 4640618e..81eee66f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -5,5 +5,5 @@ option('default-wallpaper', type: 'boolean', value: true, description: 'Install
option('zsh-completions', type: 'boolean', value: true, description: 'Install zsh shell completions.')
option('bash-completions', type: 'boolean', value: true, description: 'Install bash shell completions.')
option('fish-completions', type: 'boolean', value: true, description: 'Install fish shell completions.')
-option('enable-xwayland', type: 'boolean', value: true, description: 'Enable support for X11 applications')
-option('enable-tray', type: 'boolean', value: false, description: 'Enable support for swaybar tray')
+option('xwayland', type: 'feature', value: 'auto', description: 'Enable support for X11 applications')
+option('tray', type: 'feature', value: 'auto', description: 'Enable support for swaybar tray')
diff --git a/sway/meson.build b/sway/meson.build
index 0a08ee74..2388a66d 100644
--- a/sway/meson.build
+++ b/sway/meson.build
@@ -194,7 +194,7 @@ sway_deps = [
xkbcommon,
]
-if get_option('enable-xwayland')
+if have_xwayland
sway_sources += 'desktop/xwayland.c'
sway_deps += xcb
endif
diff --git a/swaybar/meson.build b/swaybar/meson.build
index 312ca97b..a44c0061 100644
--- a/swaybar/meson.build
+++ b/swaybar/meson.build
@@ -1,4 +1,4 @@
-tray_files = get_option('enable-tray') ? [
+tray_files = have_tray ? [
'tray/host.c',
'tray/icon.c',
'tray/item.c',
@@ -19,7 +19,7 @@ swaybar_deps = [
wayland_cursor,
wlroots,
]
-if get_option('enable-tray')
+if have_tray
if systemd.found()
swaybar_deps += systemd
elif elogind.found()