doc: support building HTML guides with meson

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Luca Boccassi <bluca@debian.org>
Tested-by: Timothy Redaelli <tredaelli@redhat.com>
This commit is contained in:
Bruce Richardson 2018-09-20 14:22:08 +01:00 committed by Thomas Monjalon
parent b63e5d4790
commit d02a2dab2d
3 changed files with 41 additions and 3 deletions

View file

@ -50,7 +50,6 @@ if doxygen.found()
install_dir: htmldir,
build_by_default: false)
run_target('doc', command: 'true', depends: doxy_build)
else
run_target('doc', command: ['echo', 'doxygen', 'not', 'found'])
doc_targets += doxy_build
doc_target_names += 'Doxygen_API'
endif

28
doc/guides/meson.build Normal file
View file

@ -0,0 +1,28 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
sphinx = find_program('sphinx-build', required: get_option('enable_docs'))
if sphinx.found()
htmldir = join_paths('share', 'doc', 'dpdk')
html_guides_build = custom_target('html_guides_build',
input: meson.current_source_dir(),
output: 'guides',
command: [sphinx, '-b', 'html',
'-d', meson.current_build_dir() + '/.doctrees',
'@INPUT@', meson.current_build_dir() + '/guides'],
build_by_default: false,
install: get_option('enable_docs'),
install_dir: htmldir)
doc_targets += html_guides_build
doc_target_names += 'HTML_Guides'
# sphinx leaves a .buildinfo in the target directory, which we don't
# want to install. Note that sh -c has to be used, otherwise the
# env var does not get expanded if calling rm/install directly.
meson.add_install_script('sh', '-c',
'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
meson.add_install_script('sh', '-c',
'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')
endif

View file

@ -1,4 +1,15 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
doc_targets = []
doc_target_names = []
subdir('api')
subdir('guides')
if doc_targets.length() == 0
message = 'No docs targets found'
else
message = 'Building docs:'
endif
run_target('doc', command: ['echo', message, doc_target_names],
depends: doc_targets)