2017-05-30 19:46:51 +02:00
|
|
|
doxyfile_conf = configuration_data()
|
|
|
|
|
doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
|
|
|
|
|
doxyfile_conf.set('PACKAGE_VERSION', meson.project_version())
|
2021-08-06 16:23:12 +02:00
|
|
|
doxyfile_conf.set('top_srcdir', meson.source_root())
|
|
|
|
|
doxyfile_conf.set('top_builddir', meson.build_root())
|
2017-05-30 19:46:51 +02:00
|
|
|
|
2021-06-29 11:17:03 +03:00
|
|
|
dot_found = find_program('dot', required: false).found()
|
|
|
|
|
summary({'dot (used with doxygen)': dot_found}, bool_yn: true, section: 'Optional programs')
|
|
|
|
|
if dot_found
|
2017-05-30 19:46:51 +02:00
|
|
|
doxyfile_conf.set('HAVE_DOT', 'YES')
|
|
|
|
|
else
|
|
|
|
|
doxyfile_conf.set('HAVE_DOT', 'NO')
|
|
|
|
|
endif
|
|
|
|
|
|
2021-05-07 08:53:51 +10:00
|
|
|
inputs = []
|
2017-09-05 13:35:25 +02:00
|
|
|
foreach h : pipewire_headers
|
2021-08-06 16:23:12 +02:00
|
|
|
inputs += meson.source_root() / 'src' / 'pipewire' / h
|
2017-09-05 13:35:25 +02:00
|
|
|
endforeach
|
|
|
|
|
foreach h : pipewire_sources
|
2021-08-06 16:23:12 +02:00
|
|
|
inputs += meson.source_root() / 'src' / 'pipewire' / h
|
2017-09-05 13:35:25 +02:00
|
|
|
endforeach
|
2021-06-24 14:06:30 +10:00
|
|
|
foreach h : module_sources
|
2021-08-06 16:23:12 +02:00
|
|
|
inputs += meson.source_root() / 'src' / 'modules' / h
|
2021-06-24 14:06:30 +10:00
|
|
|
endforeach
|
2021-09-22 13:42:18 +10:00
|
|
|
foreach h : media_session_sources
|
|
|
|
|
inputs += meson.source_root() / 'src' / 'media-session' / h
|
|
|
|
|
endforeach
|
2021-10-02 19:24:17 +03:00
|
|
|
inputs += meson.source_root() / 'spa' / 'include' / 'spa'
|
2021-08-06 16:23:12 +02:00
|
|
|
inputs += meson.source_root() / 'test' / 'pwtest.h'
|
2017-09-05 13:35:25 +02:00
|
|
|
|
2021-10-02 19:24:17 +03:00
|
|
|
path_prefixes = [
|
|
|
|
|
meson.source_root() / 'src',
|
|
|
|
|
meson.source_root() / 'spa' / 'include',
|
|
|
|
|
meson.source_root(),
|
|
|
|
|
]
|
2021-05-21 13:53:19 +10:00
|
|
|
|
2021-05-25 19:55:06 +10:00
|
|
|
# Note: order here is how doxygen will expose the pages in the sidebar
|
2021-05-07 09:09:45 +10:00
|
|
|
extra_docs = [
|
2021-05-25 19:55:06 +10:00
|
|
|
'index.dox',
|
2021-07-29 14:29:46 +10:00
|
|
|
'overview.dox',
|
2021-05-25 19:55:06 +10:00
|
|
|
'pipewire.dox',
|
|
|
|
|
'pipewire-design.dox',
|
2021-07-29 14:25:47 +10:00
|
|
|
'pipewire-access.dox',
|
|
|
|
|
'pipewire-midi.dox',
|
|
|
|
|
'pipewire-portal.dox',
|
2021-05-25 19:55:06 +10:00
|
|
|
'pipewire-daemon.dox',
|
|
|
|
|
'pipewire-library.dox',
|
2021-06-24 14:06:30 +10:00
|
|
|
'pipewire-modules.dox',
|
2021-05-25 19:55:06 +10:00
|
|
|
'pipewire-tools.dox',
|
|
|
|
|
'pipewire-session-manager.dox',
|
|
|
|
|
'pipewire-objects-design.dox',
|
2021-07-29 14:11:34 +10:00
|
|
|
'pipewire-audio.dox',
|
2021-07-29 15:44:37 +10:00
|
|
|
'media-session.dox',
|
2021-05-25 19:55:06 +10:00
|
|
|
'api.dox',
|
2021-05-25 13:08:04 +10:00
|
|
|
'tutorial.dox',
|
|
|
|
|
'tutorial1.dox',
|
|
|
|
|
'tutorial2.dox',
|
|
|
|
|
'tutorial3.dox',
|
|
|
|
|
'tutorial4.dox',
|
|
|
|
|
'tutorial5.dox',
|
|
|
|
|
'tutorial6.dox',
|
2021-05-25 13:37:47 +10:00
|
|
|
'spa-index.dox',
|
2021-06-24 10:49:22 +10:00
|
|
|
'spa-plugins.dox',
|
2021-05-25 13:37:47 +10:00
|
|
|
'spa-design.dox',
|
|
|
|
|
'spa-pod.dox',
|
|
|
|
|
'spa-buffer.dox',
|
2021-05-25 19:55:06 +10:00
|
|
|
'pulseaudio.dox',
|
2021-07-29 15:25:06 +02:00
|
|
|
'dma-buf.dox',
|
2021-05-07 09:09:45 +10:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
foreach extra : extra_docs
|
2021-08-06 16:23:12 +02:00
|
|
|
inputs += meson.source_root() / 'doc' / extra
|
2021-05-07 09:09:45 +10:00
|
|
|
endforeach
|
|
|
|
|
|
2021-05-21 14:53:48 +10:00
|
|
|
cssfiles = [
|
2021-08-06 16:23:12 +02:00
|
|
|
meson.source_root() / 'doc' / 'doxygen-awesome.css',
|
|
|
|
|
meson.source_root() / 'doc' / 'custom.css'
|
2021-05-21 14:53:48 +10:00
|
|
|
]
|
|
|
|
|
|
2021-10-02 19:24:17 +03:00
|
|
|
doxyfile_conf.set('inputs', ' '.join(inputs))
|
2021-05-21 14:53:48 +10:00
|
|
|
doxyfile_conf.set('cssfiles', ' '.join(cssfiles))
|
2021-10-02 19:24:17 +03:00
|
|
|
doxyfile_conf.set('path_prefixes', ' '.join(path_prefixes))
|
|
|
|
|
doxyfile_conf.set('c_input_filter', meson.source_root() / 'doc' / 'input-filter.sh')
|
2021-10-02 22:22:59 +03:00
|
|
|
doxyfile_conf.set('h_input_filter', meson.source_root() / 'doc' / 'input-filter-h.sh')
|
2017-09-05 13:35:25 +02:00
|
|
|
|
2017-05-30 19:46:51 +02:00
|
|
|
doxyfile = configure_file(input: 'Doxyfile.in',
|
|
|
|
|
output: 'Doxyfile',
|
2020-05-19 16:49:38 +02:00
|
|
|
configuration: doxyfile_conf)
|
2017-05-30 19:46:51 +02:00
|
|
|
|
2021-04-15 21:45:53 +03:00
|
|
|
docdir = get_option('docdir')
|
|
|
|
|
if docdir == ''
|
|
|
|
|
docdir = pipewire_datadir / 'doc' / meson.project_name()
|
|
|
|
|
endif
|
2017-05-30 19:46:51 +02:00
|
|
|
|
|
|
|
|
html_target = custom_target('pipewire-docs',
|
2021-05-21 14:53:48 +10:00
|
|
|
input: [ doxyfile ] + inputs + cssfiles,
|
2017-05-30 19:46:51 +02:00
|
|
|
output: [ 'html' ],
|
|
|
|
|
command: [ doxygen, doxyfile ],
|
|
|
|
|
install: true,
|
2021-04-15 21:45:53 +03:00
|
|
|
install_dir: docdir)
|