meson: docs: build *.html files from *.rst files

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-06-18 02:25:19 +02:00
parent 0eb7a86f82
commit 47b4217365
2 changed files with 64 additions and 3 deletions

View File

@ -281,10 +281,7 @@ manpages_DATA = $(manpages_html)
dot_html_generated_in = \
hvsupport.html.in \
$(NULL)
dot_rst = \
$(notdir $(wildcard $(srcdir)/*.rst))
dot_rst_html_in = \
$(dot_rst:%.rst=%.html.in) \
news.html.in \
$(NULL)
dot_html = \

View File

@ -105,6 +105,27 @@ docs_html_in_files = [
'windows',
]
docs_rst_files = [
'advanced-tests',
'best-practices',
'ci',
'coding-style',
'committer-guidelines',
'daemons',
'developer-tooling',
'formatbackup',
'formatcheckpoint',
'hacking',
'libvirt-go',
'libvirt-go-xml',
'newreposetup',
'pci-addresses',
'platforms',
'programming-languages',
'styleguide',
'submitting-patches',
]
install_data(docs_assets, install_dir: docs_html_dir)
aclperms_gen = custom_target(
@ -191,3 +212,46 @@ foreach name : docs_html_in_files
install_dir: docs_html_dir,
)
endforeach
# docs_html_in_gen:
# each entry is a dictionary with following items:
# name - base file name (required)
# file - generated file (required)
docs_html_in_gen = []
foreach name : docs_rst_files
rst_file = '@0@.rst'.format(name)
docs_html_in_gen += {
'name': name,
'file': docs_rst2html_gen.process(rst_file),
}
endforeach
foreach data : docs_html_in_gen
html_file = '@0@.html'.format(data['name'])
rst_in_file = '@0@.rst'.format(data['name'])
custom_target(
html_file,
input: data['file'],
output: html_file,
command: [
meson_python_prog,
python3_prog.path(),
meson_html_gen_prog.path(),
xsltproc_prog.path(),
xmllint_prog.path(),
meson.build_root(),
docs_timestamp,
site_xsl,
'@INPUT@',
'@OUTPUT@',
rst_in_file,
],
depends: [ aclperms_gen ],
depend_files: [ page_xsl ],
install: true,
install_dir: docs_html_dir,
)
endforeach