| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| if(NOT CMake_SOURCE_DIR) |
| set(CMakeDeveloperReference_STANDALONE 1) |
| cmake_minimum_required(VERSION 3.1...3.21 FATAL_ERROR) |
| get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH) |
| get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH) |
| include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake) |
| include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake) |
| include(${CMake_SOURCE_DIR}/Source/CMakeInstallDestinations.cmake) |
| unset(CMAKE_DATA_DIR) |
| unset(CMAKE_DATA_DIR CACHE) |
| macro(CMake_OPTIONAL_COMPONENT) |
| set(COMPONENT "") |
| endmacro() |
| endif() |
| |
| project(CMakeDeveloperReference NONE) |
| |
| # |
| # Build the reference |
| # |
| |
| if (CMake_BUILD_DEVELOPER_REFERENCE OR CMakeDeveloperReference_STANDALONE) |
| |
| find_package(Doxygen REQUIRED) |
| |
| # |
| ## Output formats |
| # |
| |
| option(CMake_BUILD_DEVELOPER_REFERENCE_HTML "Build CMake Developer Reference - HTML format" ON) |
| mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE_HTML) |
| if(CMake_BUILD_DEVELOPER_REFERENCE_HTML) |
| set(GENERATE_HTML YES) |
| else() |
| set(GENERATE_HTML NO) |
| endif() |
| |
| option(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP "Build CMake Developer Reference - QtHelp format" OFF) |
| mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP) |
| if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP) |
| set(GENERATE_QHP YES) |
| find_program(QHELPGENERATOR_EXECUTABLE |
| NAMES qhelpgenerator |
| DOC "qhelpgenerator tool" |
| ) |
| if(NOT QHELPGENERATOR_EXECUTABLE) |
| message(FATAL_ERROR "QHELPGENERATOR_EXECUTABLE (qhelpgenerator) not found!") |
| endif() |
| else() |
| set(GENERATE_QHP NO) |
| endif() |
| |
| # |
| # Configure the script and the doxyfile, then add target |
| # |
| |
| if(DOXYGEN_DOT_FOUND) |
| set(HAVE_DOT YES) |
| else() |
| set(HAVE_DOT NO) |
| endif() |
| |
| if(NOT DOT_PATH) |
| get_filename_component(DOT_PATH ${DOXYGEN_DOT_EXECUTABLE} PATH) |
| endif() |
| |
| configure_file(doxyfile.in doxyfile @ONLY) |
| |
| add_custom_target(cmake-developer-reference-all |
| ${DOXYGEN_EXECUTABLE} doxyfile |
| WORKING_DIRECTORY ${CMakeDeveloperReference_BINARY_DIR}) |
| |
| add_custom_target(cmake-developer-reference ALL DEPENDS cmake-developer-reference-all) |
| |
| # |
| # Installation |
| # |
| |
| if(CMake_BUILD_DEVELOPER_REFERENCE_HTML) |
| CMake_OPTIONAL_COMPONENT(cmake-developer-reference-html) |
| install(DIRECTORY "${CMakeDeveloperReference_BINARY_DIR}/developer-reference/html" |
| DESTINATION ${CMAKE_DOC_DIR}/developer-reference |
| ${COMPONENT}) |
| endif() |
| |
| if(CMake_BUILD_DEVELOPER_REFERENCE_QTHELP) |
| CMake_OPTIONAL_COMPONENT(cmake-developer-reference-qthelp) |
| install(FILES "${CMakeDeveloperReference_BINARY_DIR}/developer-reference/CMakeDeveloperReference-${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}.qch" |
| DESTINATION ${CMAKE_DOC_DIR}/developer-reference |
| ${COMPONENT}) |
| endif() |
| |
| endif () |