xref: /aosp_15_r20/external/harfbuzz_ng/docs/meson.build (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1if not find_program('gtkdoc-scan', required: get_option('docs')).found()
2  message('Not building documentation as gtk-doc was not found')
3  subdir_done()
4endif
5
6conf.set('HAVE_GTK_DOC', 1)
7
8gnome = import('gnome')
9
10docconf = configuration_data()
11docconf.set('HB_VERSION', meson.project_version())
12
13version_xml = configure_file(input: 'version.xml.in',
14  output: 'version.xml',
15  configuration: docconf)
16
17content_files = [
18  'usermanual-what-is-harfbuzz.xml',
19  'usermanual-install-harfbuzz.xml',
20  'usermanual-getting-started.xml',
21  'usermanual-glyph-information.xml',
22  'usermanual-shaping-concepts.xml',
23  'usermanual-object-model.xml',
24  'usermanual-buffers-language-script-and-direction.xml',
25  'usermanual-fonts-and-faces.xml',
26  'usermanual-opentype-features.xml',
27  'usermanual-clusters.xml',
28  'usermanual-utilities.xml',
29  'usermanual-integration.xml',
30  version_xml,
31]
32
33html_images = [
34  'HarfBuzz.png',
35  'HarfBuzz.svg',
36]
37
38ignore_headers = [
39  'hb-features.h',
40  'hb-gobject.h',
41  'hb-gobject-enums.h',
42  'hb-gobject-enums-tmp.h',
43  'hb-gobject-structs.h',
44  'hb-wasm-api.h',
45]
46
47gnome.gtkdoc('harfbuzz',
48  main_sgml: 'harfbuzz-docs.xml',
49  src_dir: [meson.current_source_dir() / '..' / 'src',
50            meson.current_build_dir() / '..' / 'src',
51           ],
52  scan_args: ['--deprecated-guards=HB_DISABLE_DEPRECATED',
53              '--ignore-decorators=HB_EXTERN|HB_DEPRECATED|HB_DEPRECATED_FOR()',
54             ],
55  mkdb_args: ['--source-suffixes=h,cc',
56              '--xml-mode',
57              '--output-format=xml',
58             ],
59  content_files: content_files,
60  html_assets: html_images,
61  ignore_headers: ignore_headers,
62  dependencies: [libharfbuzz_dep],
63  install: true,
64  check: get_option('doc_tests'),
65)
66