aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2023-09-23 16:31:16 -0400
committerDavid Robillard <d@drobilla.net>2023-09-23 16:31:16 -0400
commita20595e543a7c6070f7e8453adfbbc3cfab32a52 (patch)
treed1a3660be974d94c3a70a6e7fb67de871f4be924
parenta5d242b14d2b168bfe5d00e74227e672df2a8245 (diff)
downloadserd-a20595e543a7c6070f7e8453adfbbc3cfab32a52.tar.gz
serd-a20595e543a7c6070f7e8453adfbbc3cfab32a52.tar.bz2
serd-a20595e543a7c6070f7e8453adfbbc3cfab32a52.zip
Explicitly specify all documentation dependencies
Yet another attempt to sort out flaky documentation builds. This tries to be careful and describe the complete documentation dependency graph to meson explicitly (ignoring tool outputs that aren't used). Also remove the shared doctrees directory option, since I suspect this causes issues in parallel builds.
-rw-r--r--doc/api/meson.build4
-rw-r--r--doc/html/meson.build5
-rw-r--r--doc/meson.build11
-rw-r--r--doc/singlehtml/meson.build5
-rw-r--r--doc/xml/meson.build26
5 files changed, 37 insertions, 14 deletions
diff --git a/doc/api/meson.build b/doc/api/meson.build
index f4fc057a..b6abb49c 100644
--- a/doc/api/meson.build
+++ b/doc/api/meson.build
@@ -1,9 +1,9 @@
# Copyright 2020-2023 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
-c_serd_rst = custom_target(
+api_serd_rst = custom_target(
'serd.rst',
command: [sphinxygen, '-f', '@INPUT0@', '@OUTDIR@'],
- input: [c_index_xml],
+ input: doxygen_xml,
output: 'serd.rst',
)
diff --git a/doc/html/meson.build b/doc/html/meson.build
index f4a11b27..3e91bcaa 100644
--- a/doc/html/meson.build
+++ b/doc/html/meson.build
@@ -14,14 +14,15 @@ custom_target(
sphinx_in_dir,
'@OUTDIR@',
],
- input: [conf_py, c_rst_files, c_serd_rst],
+ input: [api_serd_rst, conf_py, sphinx_input],
install: true,
install_dir: html_dir,
output: [
+ 'index.html',
+
'_static',
'api',
'genindex.html',
- 'index.html',
'overview.html',
],
)
diff --git a/doc/meson.build b/doc/meson.build
index e1e2b918..1528a4b7 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -50,9 +50,12 @@ if build_docs
)
# Copy hand-written documentation files
- c_rst_files = files('index.rst', 'overview.rst')
- foreach f : c_rst_files
- configure_file(copy: true, input: f, output: '@PLAINNAME@')
+ rst_sources = files('index.rst', 'overview.rst')
+ sphinx_input = []
+ foreach f : rst_sources
+ sphinx_input += [
+ configure_file(copy: true, input: f, output: '@PLAINNAME@'),
+ ]
endforeach
# Generate reference documentation input with Doxygen and Sphinxygen
@@ -61,7 +64,7 @@ if build_docs
# Build strict Sphinx flags, with termination on warnings if werror=true
sphinx_in_dir = meson.current_build_dir()
- sphinx_flags = ['-d', sphinx_in_dir / '.doctrees', '-E', '-a', '-q']
+ sphinx_flags = ['-E', '-a', '-q']
if get_option('werror')
sphinx_flags += ['-W']
endif
diff --git a/doc/singlehtml/meson.build b/doc/singlehtml/meson.build
index 8b92c349..19dd277b 100644
--- a/doc/singlehtml/meson.build
+++ b/doc/singlehtml/meson.build
@@ -14,12 +14,13 @@ custom_target(
sphinx_in_dir,
'@OUTDIR@',
],
- input: [conf_py, c_rst_files, c_serd_rst],
+ input: [api_serd_rst, conf_py, sphinx_input],
install: true,
install_dir: singlehtml_dir,
output: [
- '_static',
'index.html',
+
+ '_static',
],
)
diff --git a/doc/xml/meson.build b/doc/xml/meson.build
index 503eff3a..fb60d15b 100644
--- a/doc/xml/meson.build
+++ b/doc/xml/meson.build
@@ -5,15 +5,33 @@ config = configuration_data()
config.set('SERD_SRCDIR', serd_src_root)
config.set('DOX_OUTPUT', meson.current_build_dir() / '..')
-c_doxyfile = configure_file(
+doxyfile = configure_file(
configuration: config,
input: files('../Doxyfile.in'),
output: 'Doxyfile',
)
-c_index_xml = custom_target(
+doxygen_xml = custom_target(
'index.xml',
command: [doxygen, '@INPUT0@'],
- input: [c_doxyfile] + c_headers,
- output: 'index.xml',
+ input: [doxyfile] + c_headers,
+ output: [
+ 'index.xml',
+
+ 'group__serd.xml',
+ 'group__serd__env.xml',
+ 'group__serd__event.xml',
+ 'group__serd__node.xml',
+ 'group__serd__reader.xml',
+ 'group__serd__status.xml',
+ 'group__serd__streams.xml',
+ 'group__serd__string.xml',
+ 'group__serd__uri.xml',
+ 'group__serd__writer.xml',
+ 'serd_8h.xml',
+ 'structSerdChunk.xml',
+ 'structSerdError.xml',
+ 'structSerdNode.xml',
+ 'structSerdURI.xml',
+ ],
)