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'),
)
