summaryrefslogtreecommitdiff
path: root/src/cmake/modules/GUDHI_doxygen_target.cmake
diff options
context:
space:
mode:
authorVincent Rouvreau <vincent.rouvreau@inria.fr>2022-01-21 08:24:16 +0100
committerVincent Rouvreau <vincent.rouvreau@inria.fr>2022-01-21 08:24:16 +0100
commit854cb0726336013cf9faede10ba61b0c6da938d3 (patch)
tree2af6906f741904761064349f547811fb85b6000b /src/cmake/modules/GUDHI_doxygen_target.cmake
parenta6e7f96f7d2c391e4548309174cc05f5ae05d871 (diff)
parentde5aa9c891ef13c9fc2b2635bcd27ab873b0057b (diff)
Merge master
Diffstat (limited to 'src/cmake/modules/GUDHI_doxygen_target.cmake')
-rw-r--r--src/cmake/modules/GUDHI_doxygen_target.cmake47
1 files changed, 40 insertions, 7 deletions
diff --git a/src/cmake/modules/GUDHI_doxygen_target.cmake b/src/cmake/modules/GUDHI_doxygen_target.cmake
index 7a84c4e0..0f80b187 100644
--- a/src/cmake/modules/GUDHI_doxygen_target.cmake
+++ b/src/cmake/modules/GUDHI_doxygen_target.cmake
@@ -8,14 +8,47 @@ if(DOXYGEN_FOUND)
get_property(DOXYGEN_EXECUTABLE TARGET Doxygen::doxygen PROPERTY IMPORTED_LOCATION)
endif()
- add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} ${GUDHI_USER_VERSION_DIR}/Doxyfile
- WORKING_DIRECTORY ${GUDHI_USER_VERSION_DIR}
- COMMENT "Generating API documentation with Doxygen in ${GUDHI_USER_VERSION_DIR}/doc/html/" VERBATIM)
-
- if(TARGET user_version)
- # In dev version, doxygen target depends on user_version target. Not existing in user version
- add_dependencies(doxygen user_version)
+ message("++ Project = ${CMAKE_PROJECT_NAME}")
+ if (CMAKE_PROJECT_NAME STREQUAL "GUDHIdev")
+ # Set Doxyfile.in variables for the developer version
+ set(GUDHI_DOXYGEN_SOURCE_PREFIX "${CMAKE_SOURCE_DIR}/src")
+ foreach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/doc/")
+ set(GUDHI_DOXYGEN_IMAGE_PATH "${GUDHI_DOXYGEN_IMAGE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/doc/ \\ \n")
+ endif()
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/example/")
+ set(GUDHI_DOXYGEN_EXAMPLE_PATH "${GUDHI_DOXYGEN_EXAMPLE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/example/ \\ \n")
+ endif()
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/utilities/")
+ set(GUDHI_DOXYGEN_EXAMPLE_PATH "${GUDHI_DOXYGEN_EXAMPLE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/${GUDHI_MODULE}/utilities/ \\ \n")
+ endif()
+ endforeach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
+ set(GUDHI_DOXYGEN_COMMON_DOC_PATH "${GUDHI_DOXYGEN_SOURCE_PREFIX}/common/doc")
+ set(GUDHI_DOXYGEN_UTILS_PATH "*/utilities")
+ endif()
+ if (CMAKE_PROJECT_NAME STREQUAL "GUDHI")
+ # Set Doxyfile.in variables for the user version
+ set(GUDHI_DOXYGEN_SOURCE_PREFIX "${CMAKE_SOURCE_DIR}")
+ foreach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/doc/${GUDHI_MODULE}")
+ set(GUDHI_DOXYGEN_IMAGE_PATH "${GUDHI_DOXYGEN_IMAGE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/doc/${GUDHI_MODULE}/ \\ \n")
+ endif()
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/example/${GUDHI_MODULE}")
+ set(GUDHI_DOXYGEN_EXAMPLE_PATH "${GUDHI_DOXYGEN_EXAMPLE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/example/${GUDHI_MODULE}/ \\ \n")
+ endif()
+ if(EXISTS "${GUDHI_DOXYGEN_SOURCE_PREFIX}/utilities/${GUDHI_MODULE}")
+ set(GUDHI_DOXYGEN_EXAMPLE_PATH "${GUDHI_DOXYGEN_EXAMPLE_PATH} ${GUDHI_DOXYGEN_SOURCE_PREFIX}/utilities/${GUDHI_MODULE}/ \\ \n")
+ endif()
+ endforeach(GUDHI_MODULE ${GUDHI_MODULES_FULL_LIST})
+ set(GUDHI_DOXYGEN_COMMON_DOC_PATH "${GUDHI_DOXYGEN_SOURCE_PREFIX}/doc/common")
+ set(GUDHI_DOXYGEN_UTILS_PATH "utilities/*")
endif()
+
+ configure_file(${GUDHI_DOXYGEN_SOURCE_PREFIX}/Doxyfile.in "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY)
+
+ add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "Generating API documentation with Doxygen in 'html' directory" VERBATIM)
else()
set(GUDHI_MISSING_MODULES ${GUDHI_MISSING_MODULES} "cpp-documentation" CACHE INTERNAL "GUDHI_MISSING_MODULES")
endif()