1 # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 # file Copyright.txt or https://cmake.org/licensing for details.
4 if(NOT CMake_SOURCE_DIR)
5 set(CMakeDeveloperReference_STANDALONE 1)
6 cmake_minimum_required(VERSION 3.13...3.23 FATAL_ERROR)
7 get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH)
8 get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH)
9 include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake)
10 include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake)
11 include(${CMake_SOURCE_DIR}/Source/CMakeInstallDestinations.cmake)
13 unset(CMAKE_DATA_DIR CACHE)
14 macro(CMake_OPTIONAL_COMPONENT)
19 project(CMakeDeveloperReference NONE)
25 if (CMake_BUILD_DEVELOPER_REFERENCE OR CMakeDeveloperReference_STANDALONE)
27 find_package(Doxygen REQUIRED)
33 option(CMake_BUILD_DEVELOPER_REFERENCE_HTML "Build CMake Developer Reference - HTML format" ON)
34 mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
35 if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
36 set(GENERATE_HTML YES)
41 option(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP "Build CMake Developer Reference - QtHelp format" OFF)
42 mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
43 if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
45 find_program(QHELPGENERATOR_EXECUTABLE
47 DOC "qhelpgenerator tool"
49 if(NOT QHELPGENERATOR_EXECUTABLE)
50 message(FATAL_ERROR "QHELPGENERATOR_EXECUTABLE (qhelpgenerator) not found!")
57 # Configure the script and the doxyfile, then add target
67 get_filename_component(DOT_PATH ${DOXYGEN_DOT_EXECUTABLE} PATH)
70 configure_file(doxyfile.in doxyfile @ONLY)
72 add_custom_target(cmake-developer-reference-all
73 ${DOXYGEN_EXECUTABLE} doxyfile
74 WORKING_DIRECTORY ${CMakeDeveloperReference_BINARY_DIR})
76 add_custom_target(cmake-developer-reference ALL DEPENDS cmake-developer-reference-all)
82 if(CMake_BUILD_DEVELOPER_REFERENCE_HTML)
83 CMake_OPTIONAL_COMPONENT(cmake-developer-reference-html)
84 install(DIRECTORY "${CMakeDeveloperReference_BINARY_DIR}/developer-reference/html"
85 DESTINATION ${CMAKE_DOC_DIR}/developer-reference
89 if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP)
90 CMake_OPTIONAL_COMPONENT(cmake-developer-reference-qthelp)
91 install(FILES "${CMakeDeveloperReference_BINARY_DIR}/developer-reference/CMakeDeveloperReference-${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}.qch"
92 DESTINATION ${CMAKE_DOC_DIR}/developer-reference