summaryrefslogtreecommitdiffstats
path: root/doc/dbus/meson.build
blob: 12ebce6bba18927540255652879055628aa52e30 (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
ifaces_refs = []

ifaces = [
  'org.gnome.SessionManager',
  'org.gnome.SessionManager.Client',
  'org.gnome.SessionManager.ClientPrivate',
  'org.gnome.SessionManager.Inhibitor',
  'org.gnome.SessionManager.Presence'
]

gnome_session_dir = join_paths(meson.source_root(), 'gnome-session')
spec_to_docbook = files('spec-to-docbook.xsl')

foreach iface: ifaces
  iface_ref = iface + '.ref.xml'

  ifaces_refs += custom_target(
    iface_ref,
    input: files(join_paths(gnome_session_dir, iface + '.xml')),
    output: iface_ref,
    command: [xsltproc, '--output', '@OUTPUT@', spec_to_docbook, '@INPUT@']
  )
endforeach

session_conf = configuration_data()
session_conf.set('VERSION', session_version)

session = meson.project_name()

xml_in = configure_file(
  input: session + '.xml.in',
  output: session + '.xml',
  configuration: session_conf
)

config_xsl = files('config.xsl')

custom_target(
  session,
  input: xml_in,
  output: session + '.html',
  command: [find_program('xmlto'), 'xhtml-nochunks', '-o', meson.current_build_dir(), '-m', config_xsl, '@INPUT@'],
  depends: ifaces_refs,
  install: true,
  install_dir: join_paths(session_datadir, 'doc', meson.project_name(), 'dbus')
)