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