diff --git a/Documentation/conf.py b/Documentation/conf.py.in similarity index 95% rename from Documentation/conf.py rename to Documentation/conf.py.in index f50be60a..097e579b 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py.in @@ -74,11 +74,11 @@ pygments_style = None doxylink = { 'doxy-pub': ( - 'Documentation/api-html/tagfile.xml', + '@TOP_BUILDDIR@/Documentation/api-html/tagfile.xml', '../api-html/', ), 'doxy-int': ( - 'Documentation/internal-api-html/tagfile.xml', + '@TOP_BUILDDIR@/Documentation/internal-api-html/tagfile.xml', '../internal-api-html/', ), } @@ -89,7 +89,7 @@ doxylink = { # a list of builtin themes. # html_theme = 'theme' -html_theme_path = ['.'] +html_theme_path = ['@THEME_DIR@'] # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/Documentation/meson.build b/Documentation/meson.build index b898ba3a..10aaf613 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -142,11 +142,21 @@ if sphinx.found() .format(mod, version, min_version)) endif + sphinx_conf = configure_file(input : 'conf.py.in', + output : 'conf.py', + configuration : { + 'THEME_DIR': meson.current_source_dir(), + 'TOP_BUILDDIR': meson.project_build_root(), + }) + + fs = import('fs') + sphinx_conf_dir = fs.parent(sphinx_conf) + docs_sources = [ 'camera-sensor-model.rst', 'code-of-conduct.rst', 'coding-style.rst', - 'conf.py', + sphinx_conf, 'contributing.rst', 'design/ae.rst', 'documentation-contents.rst', @@ -171,6 +181,7 @@ if sphinx.found() custom_target('documentation', command : [sphinx, '-D', release, '-q', '-W', '-b', 'html', + '-c', sphinx_conf_dir, meson.current_source_dir(), '@OUTPUT@'], input : docs_sources, output : 'html', @@ -184,7 +195,9 @@ if sphinx.found() install_tag : 'doc') custom_target('documentation-linkcheck', - command : [sphinx, '-W', '-b', 'linkcheck', meson.current_source_dir(), '@OUTPUT@'], + command : [sphinx, '-W', '-b', 'linkcheck', + '-c', sphinx_conf_dir, + meson.current_source_dir(), '@OUTPUT@'], build_always_stale : true, input : docs_sources, output : 'linkcheck')