From 7847c7fa68f47c78ccabcabfa3d7527362b12874 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Fri, 13 Dec 2024 18:21:21 +0100 Subject: [PATCH 1/2] doxygen: install in CMAKE_INSTALL_FULL_DOCDIR --- doxygen.cmake | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/doxygen.cmake b/doxygen.cmake index 79f968b2c..f7684aea6 100644 --- a/doxygen.cmake +++ b/doxygen.cmake @@ -628,18 +628,18 @@ macro(_SETUP_PROJECT_DOCUMENTATION) if(EXISTS ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}.doxytag) install( FILES ${PROJECT_BINARY_DIR}/doc/${PROJECT_NAME}.doxytag - DESTINATION ${CMAKE_INSTALL_DOCDIR}/doxygen-html + DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR}/doxygen-html ) endif() install( DIRECTORY ${PROJECT_BINARY_DIR}/doc/doxygen-html - DESTINATION ${CMAKE_INSTALL_DOCDIR} + DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR} ) if(EXISTS ${PROJECT_SOURCE_DIR}/doc/pictures) install( DIRECTORY ${PROJECT_SOURCE_DIR}/doc/pictures - DESTINATION ${CMAKE_INSTALL_DOCDIR}/doxygen-html + DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR}/doxygen-html ) endif(EXISTS ${PROJECT_SOURCE_DIR}/doc/pictures) endif(INSTALL_DOCUMENTATION) @@ -738,7 +738,6 @@ macro(_SETUP_PROJECT_DOCUMENTATION_FINALIZE) if(INSTALL_DOCUMENTATION) # Find doxytag files To ignore this list of tag files, set variable # DOXYGEN_TAGFILES - set(INSTALL_DOCDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}) set(PKG_REQUIRES ${_PKG_CONFIG_REQUIRES}) list(APPEND PKG_REQUIRES ${_PKG_CONFIG_COMPILE_TIME_REQUIRES}) foreach(PKG_CONFIG_STRING ${PKG_REQUIRES}) @@ -753,7 +752,7 @@ macro(_SETUP_PROJECT_DOCUMENTATION_FINALIZE) file( RELATIVE_PATH DEP_DOCDIR - ${INSTALL_DOCDIR} + ${CMAKE_INSTALL_FULL_DOCDIR} ${${PREFIX}_DOXYGENDOCDIR} ) From be1630a374ce4fe09aff3d7b90a2e7983fe08acf Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Sun, 15 Dec 2024 16:37:51 +0100 Subject: [PATCH 2/2] doxygen: allow manual specification of some tagfiles This is especially useful for eigen --- doxygen.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doxygen.cmake b/doxygen.cmake index f7684aea6..a55122bec 100644 --- a/doxygen.cmake +++ b/doxygen.cmake @@ -706,6 +706,9 @@ endmacro() # Doxyfile.extra and Doxyfile files are generated at the end to allow the # replacement of user-defined variables. # +# Additional doxygen tagfiles from dependencies can be added to +# `DOXYGEN_TAGFILES_FROM_DEPENDENCIES` +# macro(_SETUP_PROJECT_DOCUMENTATION_FINALIZE) if(DOXYGEN_FOUND) if(NOT "${DOXYGEN_USE_MATHJAX}" STREQUAL "YES") @@ -738,6 +741,7 @@ macro(_SETUP_PROJECT_DOCUMENTATION_FINALIZE) if(INSTALL_DOCUMENTATION) # Find doxytag files To ignore this list of tag files, set variable # DOXYGEN_TAGFILES + set(_TAGFILES_FROM_DEPENDENCIES "${DOXYGEN_TAGFILES_FROM_DEPENDENCIES}") set(PKG_REQUIRES ${_PKG_CONFIG_REQUIRES}) list(APPEND PKG_REQUIRES ${_PKG_CONFIG_COMPILE_TIME_REQUIRES}) foreach(PKG_CONFIG_STRING ${PKG_REQUIRES})