meson.build 1.7 KB

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