| # 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') |