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