meson: Make X11 support an optional feature

Closes #255

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/326>
This commit is contained in:
Sophie Herold 2023-11-30 21:27:52 +01:00
parent 8c817a3ec6
commit b44412fac6
4 changed files with 16 additions and 3 deletions

View file

@ -11,6 +11,7 @@ codegen-units = 1
[features]
disable-glycin-sandbox = []
x11 = ["ashpd/gtk4_x11"]
[dependencies]
anyhow = { version = "1.0.66", features = ["backtrace"] }
@ -30,7 +31,7 @@ url = "2.3.1"
[dependencies.ashpd]
version = "0.7.0"
features = ["gtk4"]
features = ["gtk4_wayland"]
[dependencies.gtk]
package = "gtk4"

View file

@ -14,6 +14,9 @@ dependency('gweather4', version: '>=4.0.0')
# Required by glycin crate
dependency('lcms2', version: '>=2.12.0')
# Optional dependencies
gtk4_x11 = dependency('gtk4-x11', required: get_option('x11'))
cargo = find_program('cargo', required: true)
glib_compile_schemas = find_program('glib-compile-schemas', required: true)

View file

@ -7,11 +7,16 @@ option(
'development',
'ci',
],
value: 'release'
value: 'release',
)
option(
'disable-glycin-sandbox',
type: 'boolean',
description: 'Disable sandboxing of image loaders in glycin. Only intended for development purposes.',
value: false
value: false,
)
option(
'x11',
type: 'feature',
description: 'Enable X11 specific features.',
)

View file

@ -27,6 +27,10 @@ else
message('Building in release mode')
endif
if gtk4_x11.found()
cargo_options += [ '--features', 'x11' ]
endif
if get_option('disable-glycin-sandbox')
cargo_options += [ '--features', 'disable-glycin-sandbox' ]
endif