aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/CMakeLists.txt24
-rw-r--r--source/cmake/Modules/FindSphinx.cmake10
2 files changed, 31 insertions, 3 deletions
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index b2dc9f1..215dd39 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -24,13 +24,31 @@ find_package("Doxygen")
set(DOXYGEN_GENERATE_HTML NO)
set(DOXYGEN_GENERATE_XML YES)
set(DOXYGEN_EXCLUDE_PATTERNS "*.cpp")
-set(DOXYGEN_OUTPUT_DIRECTORY "doxygen-xml")
+set(DOXYGEN_OUTPUT_DIRECTORY "doxygen")
set(DOXYGEN_QUIET YES)
+file(GLOB_RECURSE DOXYGEN_SOURCES CONFIGURE_DEPENDS "*.hpp")
+
doxygen_add_docs("docs"
- ${PROJECT_SOURCE_DIR}
+ ${DOXYGEN_SOURCES}
ALL
- COMMENT "Generating source documentation"
+ USE_STAMP_FILE
+ COMMENT "Generating developer documentation sources"
+)
+
+add_custom_command(TARGET "docs"
+ POST_BUILD
+ COMMAND "${SPHINX_BUILD_EXE}"
+ ARGS
+ "../docs"
+ "docs"
+ "-q"
+ COMMENT "Generating developer documentation html"
+)
+
+set_target_properties("docs" PROPERTIES
+ ADDITIONAL_CLEAN_FILES
+ "${PROJECT_BINARY_DIR}/doxygen;${PROJECT_BINARY_DIR}/docs"
)
#[============================================================================[
diff --git a/source/cmake/Modules/FindSphinx.cmake b/source/cmake/Modules/FindSphinx.cmake
new file mode 100644
index 0000000..a0a1c31
--- /dev/null
+++ b/source/cmake/Modules/FindSphinx.cmake
@@ -0,0 +1,10 @@
+include("FindPackageHandleStandardArgs")
+
+find_program(SPHINX_BUILD_EXE "sphinx-build"
+ HINTS "${PROJECT_SOURCE_DIR}/../.venv/bin"
+)
+
+find_package_handle_standard_args("Sphinx"
+ DEFAULT_MSG
+ SPHINX_BUILD_EXE
+)