diff options
author | Robert Dailey <rcdailey@gmail.com> | 2017-06-28 21:02:57 (GMT) |
---|---|---|
committer | Robert Dailey <rcdailey@gmail.com> | 2017-06-29 18:39:26 (GMT) |
commit | 97a9a35607e653ebd5184facc191125e03173ca4 (patch) | |
tree | 6469ac114643f25d3152657a4a48055bf54c5396 /Modules/FindDoxygen.cmake | |
parent | 594b0f80a8e943f9c2a0920b56f3c69b0553b92a (diff) | |
download | CMake-97a9a35607e653ebd5184facc191125e03173ca4.zip CMake-97a9a35607e653ebd5184facc191125e03173ca4.tar.gz CMake-97a9a35607e653ebd5184facc191125e03173ca4.tar.bz2 |
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.cmake | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Modules/FindDoxygen.cmake b/Modules/FindDoxygen.cmake index 26d44b9..fb16f20 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}") |