# Build properties
option('ansi',              type: 'boolean', value: false,  description: 'Turn on strict ansi')
option('enable-console-bin',type: 'boolean', value: true,   description: 'Build a console-only binary which does not link GTK')
option('win32-debug-console',type:'boolean', value: true,   description: 'Open a console when starting the program')
option('enable-multiproc',  type: 'boolean', value: true,   description: 'Support for multiple processors')
option('profiling',         type: 'boolean', value: false,  description: 'Enable profiling')
option('windows-installer', type: 'boolean', value: false,  description: 'Generate files needed for the Windows installer')

option('relocatable-bundle', type: 'combo', value: 'platform-default',
                             description: 'build with resources considered bundled under the same prefix',
                             choices: [ 'yes', 'no', 'platform-default' ])

option('shmem-type',        type: 'combo',   value: 'auto', description: 'Shared memory transport type',
                                             choices: [ 'none', 'sysv', 'posix', 'win32', 'auto' ])

option('build-id',          type: 'string',  value: 'unknown', description: 'Unique string used to define your build')
option('revision',          type: 'integer', value: 0,    description: 'Revision increment for a package')
option('check-update',      type: 'combo', value: 'platform-default',
                            description: 'PIKA will look up new version availability on startup',
                            choices: [ 'yes', 'no', 'platform-default' ])

option('bug-report-url',    type: 'string',  value: '',   description: 'URL used by the debug dialog to report bugs')
option('pikadir',           type: 'string',  value: '',   description: 'Change default pikadir from ~/.config/PIKA/2.9 to ~/.config/DIR/2.9 (if relative), or to DIR (if absolute)')
option('icc-directory',     type: 'string',  value: '',   description: 'Path to default color profiles for this system')
option('directx-sdk-dir',   type: 'string',  value: '',   description: 'Prefix where the DirectX SDK is installed(optional)')
option('with-sendmail',     type: 'string',  value: '',   description: 'Use Sendmail instead of Xdg-email')

option('win32-32bits-dll-folder', type: 'string',  value: '32/bin', description: 'alternative folder with 32-bit versions of DLL libraries on Windows')
option('libunwind',         type: 'boolean', value: true, description: 'Build with libunwind for backtrace')
option('libbacktrace',      type: 'boolean', value: true, description: 'Build with libbacktrace support')

# Features

option('enable-default-bin',type: 'feature', value: 'auto', description: 'Install unversioned symlinks pointing to versioned executables')
option('aa',                type: 'feature', value: 'auto', description: 'AA plugin')
option('alsa',              type: 'feature', value: 'auto', description: 'Alsa support in midi input controller')
option('appdata-test',      type: 'feature', value: 'auto', description: 'Validate the appdata file')
option('cairo-pdf',         type: 'feature', value: 'auto', description: 'Cairo-pdf support')
option('fits',              type: 'feature', value: 'auto', description: 'Support for loading/exporting FITS images')
option('ghostscript',       type: 'feature', value: 'auto', description: 'Ghostscript support')
option('gudev',             type: 'feature', value: 'auto', description: 'Gudev support')
option('heif',              type: 'feature', value: 'auto', description: 'HEIF support')
option('ilbm',              type: 'feature', value: 'auto', description: 'Amiga IFF support')
option('jpeg2000',          type: 'feature', value: 'auto', description: 'Jpeg-2000 support')
option('jpeg-xl',           type: 'feature', value: 'auto', description: 'JPEG XL support')
option('mng',               type: 'feature', value: 'auto', description: 'Mng support')
option('openexr',           type: 'feature', value: 'auto', description: 'Openexr support')
option('openmp',            type: 'feature', value: 'auto', description: 'OpenMP support')
option('print',             type: 'boolean', value: true,   description: 'Print support')
option('webkit-unmaintained',type: 'boolean', value: false,  description: 'Help browser and webpage plugins (unmaintained)')
option('webp',              type: 'feature', value: 'auto', description: 'Webp support')
option('wmf',               type: 'feature', value: 'auto', description: 'Wmf support')
option('xcursor',           type: 'feature', value: 'auto', description: 'Xcursor support')
option('xpm',               type: 'feature', value: 'auto', description: 'XPM support')
option('headless-tests',    type: 'feature', value: 'auto', description: 'Use xvfb-run/dbus-run-session for UI-dependent automatic tests')

option('can-crosscompile-gir', type: 'boolean', value: false, description: 'GIR is buildable even if crosscompiling')

option('gi-docgen',         type: 'feature', value: 'auto', description: 'Build developer documentation (uses gi-docgen)')
option('g-ir-doc',          type: 'boolean', value: false,  description: 'Build developer documentation for introspected API')

option('linux-input',       type: 'feature', value: 'auto', description: 'Linux input event controller module')
option('vector-icons',      type: 'boolean', value: true,   description: 'Use vector icons rather than raster ones')

option('vala',              type: 'feature', value: 'auto', description: 'Build VAPI and Vala plugins')
option('javascript',        type: 'feature', value: 'auto', description: 'Install Javascript plug-ins')
option('lua',               type: 'feature', value: 'auto', description: 'Install Lua plug-ins')
option('python',            type: 'feature', value: 'auto', description: 'Install Python 3 plug-ins')
