| if not find_program('gtkdoc-scan', required: get_option('docs')).found() | |
| message('Not building documentation as gtk-doc was not found') | |
| subdir_done() | |
| endif | |
| conf.set('HAVE_GTK_DOC', 1) | |
| gnome = import('gnome') | |
| docconf = configuration_data() | |
| docconf.set('HB_VERSION', meson.project_version()) | |
| version_xml = configure_file(input: 'version.xml.in', | |
| output: 'version.xml', | |
| configuration: docconf) | |
| content_files = [ | |
| 'usermanual-what-is-harfbuzz.xml', | |
| 'usermanual-install-harfbuzz.xml', | |
| 'usermanual-getting-started.xml', | |
| 'usermanual-glyph-information.xml', | |
| 'usermanual-shaping-concepts.xml', | |
| 'usermanual-object-model.xml', | |
| 'usermanual-buffers-language-script-and-direction.xml', | |
| 'usermanual-fonts-and-faces.xml', | |
| 'usermanual-opentype-features.xml', | |
| 'usermanual-clusters.xml', | |
| 'usermanual-utilities.xml', | |
| 'usermanual-integration.xml', | |
| version_xml, | |
| ] | |
| html_images = [ | |
| 'favicon.ico', | |
| 'HarfBuzz.png', | |
| 'HarfBuzz.svg', | |
| 'hb-shape.png', | |
| 'hb-subset.png', | |
| 'hb-raster.png', | |
| 'hb-vector.png', | |
| 'hb-gpu.png', | |
| ] | |
| ignore_headers = [ | |
| 'hb-features.h', | |
| 'hb-gobject.h', | |
| 'hb-gobject-enums.h', | |
| 'hb-gobject-enums-tmp.h', | |
| 'hb-gobject-structs.h', | |
| 'hb-wasm-api.h', | |
| ] | |
| gnome.gtkdoc('harfbuzz', | |
| main_sgml: 'harfbuzz-docs.xml', | |
| src_dir: [meson.current_source_dir() / '..' / 'src', | |
| meson.current_build_dir() / '..' / 'src', | |
| ], | |
| scan_args: ['--deprecated-guards=HB_DISABLE_DEPRECATED', | |
| '--ignore-decorators=HB_EXTERN|HB_DEPRECATED|HB_DEPRECATED_FOR()', | |
| ], | |
| mkdb_args: ['--source-suffixes=h,cc', | |
| '--xml-mode', | |
| '--output-format=xml', | |
| ], | |
| content_files: content_files, | |
| html_assets: html_images, | |
| ignore_headers: ignore_headers, | |
| dependencies: [libharfbuzz_dep], | |
| install: true, | |
| check: get_option('doc_tests'), | |
| ) |