# HarfBuzz feature options
option('glib', type: 'feature', value: 'auto',
  description: 'Enable GLib unicode functions')
option('gobject', type: 'feature', value: 'auto',
  description: 'Enable GObject bindings')
option('cairo', type: 'feature', value: 'auto',
  description: 'Use Cairo graphics library')
option('chafa', type: 'feature', value: 'auto',
  description: 'Use Chafa terminal graphics library')
option('png', type: 'feature', value: 'auto',
  description: 'Use PNG library')
option('zlib', type: 'feature', value: 'auto',
  description: 'Use zlib library')
option('icu', type: 'feature', value: 'auto',
  description: 'Enable ICU library unicode functions')
option('graphite', type: 'feature', value: 'disabled',
  description: 'Deprecated use graphite2 option instead')
option('graphite2', type: 'feature', value: 'disabled',
  description: 'Enable Graphite2 complementary shaper')
option('freetype', type: 'feature', value: 'auto',
  description: 'Enable freetype font backend')
option('fontations', type: 'feature', value: 'disabled',
  description: 'Enable fontations font backend')
option('gdi', type: 'feature', value: 'disabled',
  description: 'Enable GDI helpers and Uniscribe shaper backend on Windows')
option('directwrite', type: 'feature', value: 'disabled',
  description: 'Enable DirectWrite shaper and font backend on Windows')
option('coretext', type: 'feature', value: 'disabled',
  description: 'Enable CoreText shaper and font backend on Apple platforms')
option('harfrust', type: 'feature', value: 'disabled',
  description: 'Enable HarfRust shaper backend')
option('kbts', type: 'feature', value: 'disabled',
  description: 'Enable kb_text_shape backend')
option('wasm', type: 'feature', value: 'disabled',
  description: 'Enable WebAssembly shaper backend (experimental)')
option('raster', type: 'feature', value: 'enabled',
  description: 'Enable HarfBuzz glyph rasterization library')
option('vector', type: 'feature', value: 'enabled',
  description: 'Enable HarfBuzz glyph vector drawing library')
option('gpu', type: 'feature', value: 'enabled',
  description: 'Enable HarfBuzz GPU rasterization library')
option('gpu_demo', type: 'feature', value: 'auto',
  description: 'Build hb-gpu demo tool (needs GLEW, GLFW, GL)')
option('subset', type: 'feature', value: 'enabled',
  description: 'Enable HarfBuzz font subsetting and instancing library')

# Common feature options
option('tests', type: 'feature', value: 'enabled', yield: true,
  description: 'Enable or disable unit tests')
option('introspection', type: 'feature', value: 'auto', yield: true,
  description: 'Generate gobject-introspection bindings (.gir/.typelib files)')
option('docs', type: 'feature', value: 'auto', yield: true,
  description: 'Generate documentation with gtk-doc')
option('doc_tests', type: 'boolean', value: false,
  description: 'Run gtkdoc-check tests')
option('utilities', type: 'feature', value: 'enabled', yield: true,
  description: 'Build harfbuzz utils')

option('benchmark', type: 'feature', value: 'disabled',
  description: 'Enable benchmark tests')
option('icu_builtin', type: 'boolean', value: false,
  description: 'Don\'t separate ICU support as harfbuzz-icu module')
option('with_libstdcxx', type: 'boolean', value: false,
  description: 'Allow linking with libstdc++')
option('experimental_api', type: 'boolean', value: false,
  description: 'Enable experimental APIs')
option('ragel_subproject', type: 'boolean', value: false,
  description: 'Build Ragel subproject if no suitable version is found')
option('fuzzer_ldflags', type: 'string',
  description: 'Extra LDFLAGS used during linking of fuzzing binaries')

# Install directory options
option('cmakepackagedir', type: 'string',
  description: 'CMake package configuration install directory')
