mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 12:49:50 -05:00
95b4b9137a
CMake 3.12 introduced a `...<max>` syntax in the version given to `cmake_minimum_required` to automatically set policies to NEW up to that version. Use it to avoid listing policies explicitly. The syntax is compatible with older versions of CMake such that they use the extended version string for the `CMAKE_MINIMUM_REQUIRED_VERSION` variable (which we don't use) but otherwise ignore it.
97 lines
2.9 KiB
CMake
97 lines
2.9 KiB
CMake
# 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.12 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/CMakeVersionCompute.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 ()
|