summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-04-28 14:14:15 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-04-28 14:14:24 (GMT)
commitf9da4cf8f1c56333511661de9fc74f4b82c1675b (patch)
tree18297f20ab7445867a83f8c3f3915e510e77d56c /Modules
parent5aab50d4b753b6be47c8f897c4e8daf47aac45d9 (diff)
parent5ee19d5746aa1be0179042287a2e37929eff01f0 (diff)
downloadCMake-f9da4cf8f1c56333511661de9fc74f4b82c1675b.zip
CMake-f9da4cf8f1c56333511661de9fc74f4b82c1675b.tar.gz
CMake-f9da4cf8f1c56333511661de9fc74f4b82c1675b.tar.bz2
Merge topic 'FindDoxygen-custom-config-file'
5ee19d5746 FindDoxygen: Optionally use custom config file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8439
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindDoxygen.cmake20
1 files changed, 16 insertions, 4 deletions
diff --git a/Modules/FindDoxygen.cmake b/Modules/FindDoxygen.cmake
index ef9801e..76f4759 100644
--- a/Modules/FindDoxygen.cmake
+++ b/Modules/FindDoxygen.cmake
@@ -76,7 +76,8 @@ Functions
[ALL]
[USE_STAMP_FILE]
[WORKING_DIRECTORY dir]
- [COMMENT comment])
+ [COMMENT comment]
+ [CONFIG_FILE filename])
The function constructs a ``Doxyfile`` and defines a custom target that runs
Doxygen on that generated file. The listed files and directories are used as
@@ -97,6 +98,10 @@ Functions
the :command:`add_custom_target` command used to create the custom target
internally.
+ .. versionadded:: 3.27
+ If ``CONFIG_FILE`` is set, the given file provided with full-path
+ will be used as doxygen configuration file
+
.. versionadded:: 3.12
If ``ALL`` is set, the target will be added to the default build target.
@@ -864,7 +869,7 @@ endfunction()
function(doxygen_add_docs targetName)
set(_options ALL USE_STAMP_FILE)
- set(_one_value_args WORKING_DIRECTORY COMMENT)
+ set(_one_value_args WORKING_DIRECTORY COMMENT CONFIG_FILE)
set(_multi_value_args)
cmake_parse_arguments(_args
"${_options}"
@@ -1166,8 +1171,15 @@ doxygen_add_docs() for target ${targetName}")
# Prepare doxygen configuration file
set(_doxyfile_template "${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
- set(_target_doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.${targetName}")
- configure_file("${_doxyfile_template}" "${_target_doxyfile}")
+ if(_args_CONFIG_FILE)
+ if(NOT EXISTS "${_args_CONFIG_FILE}")
+ message(FATAL_ERROR "Option CONFIG_FILE specifies file:\n ${_args_CONFIG_FILE}\nbut it does not exist.")
+ endif()
+ set(_target_doxyfile "${_args_CONFIG_FILE}")
+ else()
+ set(_target_doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.${targetName}")
+ configure_file("${_doxyfile_template}" "${_target_doxyfile}")
+ endif()
unset(_all)
if(${_args_ALL})