meson.build 3.07 KB
Newer Older
1 2 3 4 5 6 7 8
private_headers = [
]

images = [
]

configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
types_conf = configuration_data()
if os_win32
  types_conf.set('DISABLE_ON_W32', '%')
else
  types_conf.set('DISABLE_ON_W32', '')
endif

if os_darwin
  types_conf.set('DISABLE_ON_QUARTZ', '%')
else
  types_conf.set('DISABLE_ON_QUARTZ', '')
endif

configure_file(input: 'gtk4.types.in', output: 'gtk4.types', configuration: types_conf)

24
gnome.gtkdoc('gtk4',
Matthias Clasen's avatar
Matthias Clasen committed
25
             mode: 'none',
26 27 28 29 30 31 32 33
             main_xml: 'gtk4-docs.xml',
             src_dir: [
	       join_paths(meson.source_root(), 'gtk'),
	       join_paths(meson.build_root(), 'gtk'),
	     ],
             dependencies: libgtk_dep,
             gobject_typesfile: 'gtk4.types',
             scan_args: [
34
               '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
35 36 37 38 39 40 41 42 43 44 45 46 47 48
               '--ignore-headers=' + ' '.join(private_headers),
             ],
             fixxref_args: [
               '--html-dir=@0@'.format(docpath),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
               '--extra-dir=@0@'.format(cairo_docpath),
               '--extra-dir=@0@'.format(gdkpixbuf_docpath),
	       '--extra-dir=../gdk',
	       '--extra-dir=../gsk',
             ],
             html_assets: images,
             install: true)
49 50

xsltproc = find_program('xsltproc', required: false)
51
if get_option('man-pages') and not xsltproc.found()
52 53 54
  error('No xsltproc found, but man pages were explicitly enabled')
endif

55
if get_option('man-pages') and xsltproc.found()
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
  xlstproc_flags = [
    '--nonet',
    '--stringparam', 'man.output.quietly', '1',
    '--stringparam', 'funcsynopsis.style', 'ansi',
    '--stringparam', 'man.th.extra1.suppress', '1',
    '--stringparam', 'man.authors.section.enabled', '0',
    '--stringparam', 'man.copyright.section.enabled', '0',
  ]

  man_files = [
    [ 'gtk4-broadwayd', '1', ],
    [ 'gtk4-builder-tool', '1', ],
    [ 'gtk4-demo', '1', ],
    [ 'gtk4-demo-application', '1', ],
    [ 'gtk4-encode-symbolic-svg', '1', ],
    [ 'gtk4-icon-browser', '1', ],
    [ 'gtk4-launch', '1', ],
    [ 'gtk4-query-immodules', '1', ],
    [ 'gtk4-query-settings', '1', ],
    [ 'gtk4-update-icon-cache', '1', ],
    [ 'gtk4-widget-factory', '1', ],
  ]

  foreach man: man_files
    man_name = man.get(0)
    man_section = man.get(1, '1')
    custom_target('@0@.@1@'.format(man_name, man_section),
                  input: '@0@.xml'.format(man_name),
                  output: '@0@.@1@'.format(man_name, man_section),
                  command: [
                    xsltproc,
                    xlstproc_flags,
                    '-o', '@OUTPUT@',
                    'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
                    '@INPUT@',
                  ],
                  install: true,
                  install_dir: join_paths(get_option('mandir'), 'man@0@'.format(man_section)))
  endforeach
endif