1# HarfBuzz feature options 2option('glib', type: 'feature', value: 'auto', 3 description: 'Enable GLib unicode functions') 4option('gobject', type: 'feature', value: 'auto', 5 description: 'Enable GObject bindings') 6option('cairo', type: 'feature', value: 'auto', 7 description: 'Use Cairo graphics library') 8option('chafa', type: 'feature', value: 'auto', 9 description: 'Use Chafa terminal graphics library') 10option('icu', type: 'feature', value: 'auto', 11 description: 'Enable ICU library unicode functions') 12option('graphite', type: 'feature', value: 'disabled', 13 description: 'Deprecated use graphite2 option instead') 14option('graphite2', type: 'feature', value: 'disabled', 15 description: 'Enable Graphite2 complementary shaper') 16option('freetype', type: 'feature', value: 'auto', 17 description: 'Enable freetype interop helpers') 18option('gdi', type: 'feature', value: 'disabled', 19 description: 'Enable GDI helpers and Uniscribe shaper backend (Windows only)') 20option('directwrite', type: 'feature', value: 'disabled', 21 description: 'Enable DirectWrite shaper backend on Windows (experimental)') 22option('coretext', type: 'feature', value: 'disabled', 23 description: 'Enable CoreText shaper backend on macOS') 24option('wasm', type: 'feature', value: 'disabled', 25 description: 'Enable WebAssembly shaper backend (experimental)') 26 27# Common feature options 28option('tests', type: 'feature', value: 'enabled', yield: true, 29 description: 'Enable or disable unit tests') 30option('introspection', type: 'feature', value: 'auto', yield: true, 31 description: 'Generate gobject-introspection bindings (.gir/.typelib files)') 32option('docs', type: 'feature', value: 'auto', yield: true, 33 description: 'Generate documentation with gtk-doc') 34option('doc_tests', type: 'boolean', value: false, 35 description: 'Run gtkdoc-check tests') 36option('utilities', type: 'feature', value: 'enabled', yield: true, 37 description: 'Build harfbuzz utils') 38 39option('benchmark', type: 'feature', value: 'disabled', 40 description: 'Enable benchmark tests') 41option('icu_builtin', type: 'boolean', value: false, 42 description: 'Don\'t separate ICU support as harfbuzz-icu module') 43option('with_libstdcxx', type: 'boolean', value: false, 44 description: 'Allow linking with libstdc++') 45option('experimental_api', type: 'boolean', value: false, 46 description: 'Enable experimental APIs') 47option('ragel_subproject', type: 'boolean', value: false, 48 description: 'Build Ragel subproject if no suitable version is found') 49option('fuzzer_ldflags', type: 'string', 50 description: 'Extra LDFLAGS used during linking of fuzzing binaries') 51 52# Install directory options 53option('cmakepackagedir', type: 'string', 54 description: 'CMake package configuration install directory') 55