From 0330d054d945fa8dbb970e1a160668869db17a2c Mon Sep 17 00:00:00 2001
From: Stephan Schulz <stephan.schulz-x2q@rub.de>
Date: Thu, 26 Nov 2020 13:09:07 +0100
Subject: [PATCH] make sphinx config configurable by CMake

---
 docs/CMakeLists.txt          | 9 +++++++--
 docs/{conf.py => conf.py.in} | 0
 2 files changed, 7 insertions(+), 2 deletions(-)
 rename docs/{conf.py => conf.py.in} (100%)

diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 51bb235..666f0a3 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -34,13 +34,17 @@ set(DOXYFILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
 set(DOXYGEN_INTERNAL_DOCS NO)
 set(DOXYGEN_EXAMPLE_PATH ${PROJECT_SOURCE_DIR}/example)
 set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ${PROJECT_SOURCE_DIR}/README.md)
-
 # configure doxygen config file
 configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
 
+set(SPHINX_IN ${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in)
+set(SPHINX_OUT ${CMAKE_CURRENT_BINARY_DIR}/conf.py)
+configure_file(${SPHINX_IN} ${SPHINX_OUT} @ONLY)
+
 # create doxygen output directory
 file(MAKE_DIRECTORY ${DOXYGEN_OUTPUT_DIR})
 
+# todo(s.schulz): Add dependency on other files (Fortran module etc.)
 add_custom_command( 
     OUTPUT ${DOXYGEN_INDEX_FILE}
     DEPENDS ${ALL_PUBLIC_HEADERS} ${ALL_EXE_NAME}
@@ -61,12 +65,13 @@ add_custom_command(OUTPUT ${SPHINX_INDEX_FILE}
                   COMMAND
                   ${SPHINX_EXECUTABLE} -b html
                   -Dbreathe_projects.ALL=${DOXYGEN_OUTPUT_DIR}/xml
+		  -c "${CMAKE_CURRENT_BINARY_DIR}"
                   ${SPHINX_SOURCE} ${SPHINX_BUILD}
                   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
                   DEPENDS 
                   ${CMAKE_CURRENT_SOURCE_DIR}/index.rst
                   ${DOXYGEN_INDEX_FILE}
-                  MAIN_DEPENDENCY ${SPHINX_SOURCE}/conf.py
+                  MAIN_DEPENDENCY ${SPHINX_SOURCE}/conf.py.in
                   COMMENT "Generating ALL Docs (Sphinx)"
                   )
 
diff --git a/docs/conf.py b/docs/conf.py.in
similarity index 100%
rename from docs/conf.py
rename to docs/conf.py.in
-- 
GitLab