option('opengl',
  type: 'boolean',
  value: true,
  description: 'Enable OpenGL'
)

option('opengl_libname',
  type: 'string',
  value: 'libGL.so.1',
  description: 'OpenGL library file name'
)

option('gles2_libname',
  type: 'string',
  value: 'libGLESv2.so.2',
  description: 'GLESv2 library file name'
)

option('gles2',
  type: 'boolean',
  value: true,
  description: 'Enable GLES2 support'
)

option('egl',
  type: 'boolean',
  value: true,
  description: 'Enable EGL support'
)
option('glx',
  type: 'boolean',
  value: true,
  description: 'Enable GLX support'
)

option('wayland',
  type: 'boolean',
  value: true,
  description: 'Enable Wayland support'
)

option('systemd',
  type: 'boolean',
  value: true,
  description: 'Enable systemd support'
)

option('native_backend',
  type: 'boolean',
  value: true,
  description: 'Enable the native backend'
)

option('remote_desktop',
  type: 'boolean',
  value: true,
  description: 'Enable remote desktop and screen cast support'
)

option('libgnome_desktop',
  type: 'boolean',
  value: true,
  description: 'Build with or without gnome-desktop'
)

option('egl_device',
  type: 'boolean',
  value: false,
  description: 'Enable EGLDevice and EGLStream renderer support'
)

option('wayland_eglstream',
  type: 'boolean',
  value: false,
  description: 'Enable Wayland EGLStream support client support'
)

option('udev',
  type: 'boolean',
  value: true,
  description: 'Enable udev support when using the X11 backend'
)

option('udev_dir',
  type: 'string',
  value: '',
  description: 'Absolute path of the udev base directory'
)

option('libwacom',
  type: 'boolean',
  value: true,
  description: 'Enable libwacom support'
)

option('pango_ft2',
  type: 'boolean',
  value: true,
  description: 'Enable PangoFt2 support'
)

option('startup_notification',
  type: 'boolean',
  value: true,
  description: 'Enable startup notification support'
)

option('sm',
  type: 'boolean',
  value: true,
  description: 'Enable X11 session management support'
)

option('introspection',
  type: 'boolean',
  value: true,
  description: 'Enable GObject introspection'
)

option('docs',
  type: 'boolean',
  value: false,
  description: 'Enable gi-docgen documentation'
)

option('cogl_tests',
  type: 'boolean',
  value: true,
  description: 'Enable cogl tests'
)

option('clutter_tests',
  type: 'boolean',
  value: true,
  description: 'Enable clutter tests'
)

option('core_tests',
  type: 'boolean',
  value: true,
  description: 'Enable mutter core tests'
)

option('native_tests',
  type: 'boolean',
  value: true,
  description: 'Enable mutter native backend tests'
)

option('tests',
  type: 'boolean',
  value: true,
  description: 'Enable tests globally. Specific test suites can be controlled with core_tests, clutter_tests, and cogl_tests'
)

option('kvm_tests',
  type: 'boolean',
  value: false,
  description: 'Enable running certain tests in a virtual machine with a custom built kernel'
)

option('kvm_kernel_image',
  type: 'string',
  value: '',
  description: 'Path to a Linux kernel image to be used for KVM testing'
)

option('tty_tests',
  type: 'boolean',
  value: false,
  description: 'Enable tests that must be run on a TTY (KMS tests without KVM)'
)

option('profiler',
  type: 'boolean',
  value: true,
  description: 'Enable Sysprof tracing'
)

option('installed_tests',
  type: 'boolean',
  value: true,
  description: 'Enable mutter installed tests'
)

option('verbose',
  type: 'boolean',
  value: true,
  description: 'Enable verbose logging ability'
)

option('xwayland_path',
  type: 'string',
  value: '',
  description: 'Path to Xwayland executable'
)

option('xwayland_grab_default_access_rules',
  type: 'string',
  value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
  description: 'Comma delimited list of applications resources or class allowed to issue X11 grabs in Xwayland'
)

option('xwayland_initfd',
  type: 'feature',
  value: 'auto',
  description: 'Whether -initfd argument is passed to Xwayland to guarantee services (e.g. gsd-xsettings) startup before applications'
)

option('catch',
  type: 'boolean',
  value: false,
  description: 'Use catch to catch backtraces'
)