summaryrefslogtreecommitdiff
path: root/Modules/FindDoxygen.cmake
diff options
context:
space:
mode:
authorRobert Dailey <rcdailey@gmail.com>2017-06-28 16:02:57 -0500
committerRobert Dailey <rcdailey@gmail.com>2017-06-29 13:39:26 -0500
commit97a9a35607e653ebd5184facc191125e03173ca4 (patch)
tree6469ac114643f25d3152657a4a48055bf54c5396 /Modules/FindDoxygen.cmake
parent594b0f80a8e943f9c2a0920b56f3c69b0553b92a (diff)
downloadcmake-97a9a35607e653ebd5184facc191125e03173ca4.tar.gz
FindDoxygen: Use a stable reference to the location of global resources
FindDoxygen generates some files based on the version of Doxygen whose content will not vary across a project and are therefore a global resource that can be shared by all calls to `find_package(Doxygen)` and to `doxygen_add_docs`. We currently use `${PROJECT_BINARY_DIR}` to reference their location, but this is not stable because `project()` calls in a subdirectory can change it. Use `${CMAKE_BINARY_DIR}` instead. Reviewed-by: Craig Scott <craig.scott@crascit.com> Fixes: #17022
Diffstat (limited to 'Modules/FindDoxygen.cmake')
-rw-r--r--Modules/FindDoxygen.cmake10
1 files changed, 5 insertions, 5 deletions
diff --git a/Modules/FindDoxygen.cmake b/Modules/FindDoxygen.cmake
index 26d44b97a9..fb16f20625 100644
--- a/Modules/FindDoxygen.cmake
+++ b/Modules/FindDoxygen.cmake
@@ -619,7 +619,7 @@ if(TARGET Doxygen::doxygen)
# If doxygen was found, use it to generate a minimal default Doxyfile.
# We will delete this file after we have finished using it below to
# generate the other files that doxygen_add_docs() will use.
- set(_Doxygen_tpl "${PROJECT_BINARY_DIR}/CMakeDoxyfile.tpl")
+ set(_Doxygen_tpl "${CMAKE_BINARY_DIR}/CMakeDoxyfile.tpl")
execute_process(
COMMAND "${DOXYGEN_EXECUTABLE}" -s -g "${_Doxygen_tpl}"
OUTPUT_QUIET
@@ -646,8 +646,8 @@ if(TARGET Doxygen::doxygen)
# content is only dependent on the version of Doxygen being used. Therefore
# we always put them at the top of the build tree so that they are in a
# predictable location.
- set(_doxyfile_in "${PROJECT_BINARY_DIR}/CMakeDoxyfile.in")
- set(_doxyfile_defaults "${PROJECT_BINARY_DIR}/CMakeDoxygenDefaults.cmake")
+ set(_doxyfile_in "${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
+ set(_doxyfile_defaults "${CMAKE_BINARY_DIR}/CMakeDoxygenDefaults.cmake")
file(WRITE "${_doxyfile_in}" ${_Doxygen_dne_header})
file(WRITE "${_doxyfile_defaults}" ${_Doxygen_dne_header})
@@ -896,7 +896,7 @@ doxygen_add_docs() for target ${targetName}")
# Now bring in Doxgen's defaults for those things the project has not
# already set and we have not provided above
- include("${PROJECT_BINARY_DIR}/CMakeDoxygenDefaults.cmake" OPTIONAL)
+ include("${CMAKE_BINARY_DIR}/CMakeDoxygenDefaults.cmake" OPTIONAL)
# Cleanup built HTMLs on "make clean"
# TODO Any other dirs?
@@ -1025,7 +1025,7 @@ doxygen_add_docs() for target ${targetName}")
endforeach()
# Prepare doxygen configuration file
- set(_doxyfile_template "${PROJECT_BINARY_DIR}/CMakeDoxyfile.in")
+ set(_doxyfile_template "${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
set(_target_doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.${targetName}")
configure_file("${_doxyfile_template}" "${_target_doxyfile}")