forked from AuroraMiddleware/gtk
e882db2763
All of the four platform-dependent backends are enabled by default. It is usually a good default because it requires users to explicitly choose backends they want to use. Rules in meson.build also automatically disable unavailable backends for macOS, Windows, Linux, so users on these 3 major platforms don't have to manually disable things when running meson commands. However, meson.build doesn't do the same thing for other Unix-like systems, which is acceptable but not ideal. To make it easier to build GTK+ on these systems, the Linux case, which enables X11 and Wayland and disables Win32 and Quartz, is made the default for all operating systems that are not Windows or macOS. This commit also changes most 'host_machine.system()' calls to os_* variables, which are easier to read and less likely to be used wrongly.
48 lines
2.3 KiB
Meson
48 lines
2.3 KiB
Meson
# GDK backends
|
|
option('x11-backend', type: 'boolean', value: true,
|
|
description : 'Enable the X11 gdk backend (only when building on Unix)')
|
|
option('wayland-backend', type: 'boolean', value: true,
|
|
description : 'Enable the wayland gdk backend (only when building on Unix except for macOS)')
|
|
option('broadway-backend', type: 'boolean', value: false,
|
|
description : 'Enable the broadway (HTML5) gdk backend')
|
|
option('win32-backend', type: 'boolean', value: true,
|
|
description : 'Enable the Windows gdk backend (only when building on Windows)')
|
|
option('quartz-backend', type: 'boolean', value: true,
|
|
description : 'Enable the macOS gdk backend (only when building on macOS)')
|
|
|
|
# Media backends
|
|
option('media', type: 'string', value: 'gstreamer',
|
|
description : 'Build the specified media engines (comma-separated list, "all", or "none")')
|
|
|
|
# Optional dependencies
|
|
option('vulkan', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
|
description : 'Enable support for the Vulkan graphics API')
|
|
option('xinerama', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
|
description : 'Enable support for the Xinerama extension')
|
|
option('cloudproviders', type: 'boolean', value: false,
|
|
description : 'Enable the cloudproviders support')
|
|
|
|
# Print backends
|
|
option('print-backends', type : 'string', value : 'cups,file',
|
|
description : 'Build the specified print backends (comma-separated list, "all", or "none")')
|
|
option('colord', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
|
description : 'Build colord support for the CUPS printing backend')
|
|
|
|
# Documentation and introspection
|
|
option('documentation', type: 'boolean', value: 'false',
|
|
description : 'Build API reference and tools documentation')
|
|
option('man-pages', type: 'boolean', value: 'false',
|
|
description : 'Build man pages for installed tools')
|
|
option('introspection', type: 'boolean', value: 'true',
|
|
description : 'Build introspection data (requires gobject-introspection)')
|
|
|
|
# Demos and binaries
|
|
option('demos', type: 'boolean', value: 'true',
|
|
description : 'Build demo programs')
|
|
option('build-examples', type: 'boolean', value: 'true',
|
|
description : 'Build examples')
|
|
option('build-tests', type: 'boolean', value: 'true',
|
|
description : 'Build tests')
|
|
option('install-tests', type: 'boolean', value: 'false',
|
|
description : 'Install tests')
|