You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.9 KiB
97 lines
2.9 KiB
# 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.13...3.28 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 ()
|