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] [features]
disable-glycin-sandbox = [] disable-glycin-sandbox = []
x11 = ["ashpd/gtk4_x11"]
[dependencies] [dependencies]
anyhow = { version = "1.0.66", features = ["backtrace"] } anyhow = { version = "1.0.66", features = ["backtrace"] }
@ -30,7 +31,7 @@ url = "2.3.1"
[dependencies.ashpd] [dependencies.ashpd]
version = "0.7.0" version = "0.7.0"
features = ["gtk4"] features = ["gtk4_wayland"]
[dependencies.gtk] [dependencies.gtk]
package = "gtk4" package = "gtk4"

View file

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

View file

@ -7,11 +7,16 @@ option(
'development', 'development',
'ci', 'ci',
], ],
value: 'release' value: 'release',
) )
option( option(
'disable-glycin-sandbox', 'disable-glycin-sandbox',
type: 'boolean', type: 'boolean',
description: 'Disable sandboxing of image loaders in glycin. Only intended for development purposes.', 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') message('Building in release mode')
endif endif
if gtk4_x11.found()
cargo_options += [ '--features', 'x11' ]
endif
if get_option('disable-glycin-sandbox') if get_option('disable-glycin-sandbox')
cargo_options += [ '--features', 'disable-glycin-sandbox' ] cargo_options += [ '--features', 'disable-glycin-sandbox' ]
endif endif