summaryrefslogtreecommitdiff
path: root/docs/reference/meson.build
blob: 0e56db02dc5d87ad4f5895140d22ffb06f4d9427 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
glib_prefix = glib_dep.get_pkgconfig_variable('prefix')
glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html', 'glib')

gobject_prefix = gobject_dep.get_pkgconfig_variable('prefix')
gobject_docpath = join_paths(gobject_prefix, 'share', 'gtk-doc', 'html', 'gobject')

clutter_prefix = clutter_dep.get_pkgconfig_variable('prefix')
clutter_docpath = join_paths(clutter_prefix, 'share', 'gtk-doc', 'html', 'clutter')

gtk_prefix = gtk_dep.get_pkgconfig_variable('prefix')
gtk_docpath = join_paths(gtk_prefix, 'share', 'gtk-doc', 'html', 'gtk3')

libchamplain_reference_ignored_h = [
  'champlain-gtk-enum-types.h',
  'champlain-gtk.h',
  'champlain-adjustment.h',
  'champlain-debug.h',
  'champlain-defines.h',
  'champlain-enum-types.h',
  'champlain-features.h',
  'champlain-kinetic-scroll-view.h',
  'champlain-private.h',
  'champlain-viewport.h',
  'champlain.h',
]

if not build_with_memphis
  libchamplain_reference_ignored_h += [
    'champlain-memphis-renderer.h',
  ]
endif

version_xml = configuration_data()
version_xml.set('PACKAGE_VERSION', version)

configure_file(
  input: 'version.xml.in',
  output: 'version.xml',
  configuration: version_xml,
  install: false,
)

libchamplain_reference_scan_args = [
  '--rebuild-types',
  '--deprecated-guards=GTK_DISABLE_DEPRECATED',
  '--ignore-headers=' + ' '.join(libchamplain_reference_ignored_h),
]

libchamplain_reference_mkdb_args = [
  '--output-format=xml',
  '--name-space=champlain',
  '--name-space=gtk_champlain',
]

libchamplain_reference_fixxref_args = [
  '--html-dir=@0@'.format(join_paths(gtkdocdir, 'html', package_string)),
  '--extra-dir=@0@'.format(glib_docpath),
  '--extra-dir=@0@'.format(gobject_docpath),
  '--extra-dir=@0@'.format(clutter_docpath),
]

gnome.gtkdoc(
  package_name,
  main_xml: 'champlain-docs.xml',
  mode: 'xml',
  gobject_typesfile: files('champlain.types'),
  src_dir: [libchamplain_srcdir, libchamplain_gtk_srcdir],
  dependencies: [libchamplain_dep, libchamplain_gtk_dep],
  scan_args: libchamplain_reference_scan_args,
  mkdb_args: libchamplain_reference_mkdb_args,
  fixxref_args: libchamplain_reference_fixxref_args,
  install: true,
  install_dir: join_paths(
    gtkdocdir,
    'html',
    package_string,
  )
)