meson.build 1.7 KB

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