diff options
author | David Robillard <d@drobilla.net> | 2023-09-23 16:29:44 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-09-23 16:29:44 -0400 |
commit | 9893383ec1f53e7c2443c1bc82861019f9125e8b (patch) | |
tree | a282baa45ad50ba97728f2ab52a0c19e711769bc | |
parent | c03a9f6285e68286a6c666b6dc45f81be486928e (diff) | |
download | suil-9893383ec1f53e7c2443c1bc82861019f9125e8b.tar.gz suil-9893383ec1f53e7c2443c1bc82861019f9125e8b.tar.bz2 suil-9893383ec1f53e7c2443c1bc82861019f9125e8b.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.build | 4 | ||||
-rw-r--r-- | doc/html/meson.build | 5 | ||||
-rw-r--r-- | doc/meson.build | 11 | ||||
-rw-r--r-- | doc/singlehtml/meson.build | 5 | ||||
-rw-r--r-- | doc/xml/meson.build | 17 |
5 files changed, 28 insertions, 14 deletions
diff --git a/doc/api/meson.build b/doc/api/meson.build index cdf4eb7..a5cecf8 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -1,9 +1,9 @@ # Copyright 2021-2022 David Robillard <d@drobilla.net> # SPDX-License-Identifier: 0BSD OR ISC -c_suil_rst = custom_target( +api_suil_rst = custom_target( 'suil.rst', command: [sphinxygen, '-f', '@INPUT0@', '@OUTDIR@'], - input: [c_index_xml], + input: doxygen_xml, output: 'suil.rst', ) diff --git a/doc/html/meson.build b/doc/html/meson.build index e55f026..7a41dc5 100644 --- a/doc/html/meson.build +++ b/doc/html/meson.build @@ -14,14 +14,15 @@ custom_target( sphinx_in_dir, '@OUTDIR@', ], - input: [c_rst_files, c_suil_rst, c_index_xml, conf_py], + input: [api_suil_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 b6f6402..4db8c74 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -44,9 +44,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 @@ -55,7 +58,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 7303085..0398b32 100644 --- a/doc/singlehtml/meson.build +++ b/doc/singlehtml/meson.build @@ -14,12 +14,13 @@ custom_target( sphinx_in_dir, '@OUTDIR@', ], - input: [c_rst_files, c_suil_rst, c_index_xml, conf_py], + input: [api_suil_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 bbbf130..e49aeaf 100644 --- a/doc/xml/meson.build +++ b/doc/xml/meson.build @@ -7,15 +7,24 @@ config = configuration_data() config.set('SUIL_SRCDIR', suil_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__suil.xml', + 'group__suil__callbacks.xml', + 'group__suil__host.xml', + 'group__suil__instance.xml', + 'group__suil__library.xml', + 'suil_8h.xml', + ], ) |