summaryrefslogtreecommitdiff
path: root/doc/meson.build
blob: 13ee47a4c85a433e0eb5f669104aa8cf3c59bd1a (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
install_man(['mpd.1', 'mpd.conf.5'])

sphinx = find_program('sphinx-build')
sphinx_output = custom_target(
  'HTML documentation',
  output: 'html',
  input: [
    'index.rst', 'user.rst', 'developer.rst',
    'protocol.rst',
    'conf.py',
  ],
  command: [sphinx, '-q', '-b', 'html', '-d', '@OUTDIR@/doctrees', meson.current_source_dir(), '@OUTPUT@'],
  build_by_default: true,
  install: true,
  install_dir: join_paths(get_option('datadir'), 'doc', meson.project_name()),
)

xmlto = find_program('xmlto')
xmlto_output = custom_target(
  'Protocol documentation',
  output: 'protocol',
  input: 'protocol.xml',
  command: [
    xmlto, '-o', '@OUTPUT@',
    '--stringparam=chunker.output.encoding=utf-8',
    'html',
    '--stringparam=use.id.as.filename=1',
    '@INPUT@',
  ],
  build_by_default: true,
  install: true,
  install_dir: join_paths(get_option('datadir'), 'doc', meson.project_name()),
)

custom_target(
  'upload',
  input: [sphinx_output, xmlto_output],
  output: 'upload',
  build_always_stale: true,
  command: [
    'rsync', '-vpruz', '--delete', meson.current_build_dir() + '/',
    'www.musicpd.org:/var/www/mpd/doc/',
    '--chmod=Dug+rwx,Do+rx,Fug+rw,Fo+r',
    '--include=protocol', '--include=protocol/**',
    '--include=html', '--include=html/**',
    '--exclude=*',
  ],
)