Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/Doxygen/CMakeLists.txt
3148 views
1
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
# file LICENSE.rst or https://cmake.org/licensing for details.
3
4
if(NOT CMake_SOURCE_DIR)
5
set(CMakeDeveloperReference_STANDALONE 1)
6
cmake_minimum_required(VERSION 3.13...4.0 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)
12
unset(CMAKE_DATA_DIR)
13
unset(CMAKE_DATA_DIR CACHE)
14
macro(CMake_OPTIONAL_COMPONENT)
15
set(COMPONENT "")
16
endmacro()
17
endif()
18
19
project(CMakeDeveloperReference NONE)
20
21
#
22
# Build the reference
23
#
24
25
if (CMake_BUILD_DEVELOPER_REFERENCE OR CMakeDeveloperReference_STANDALONE)
26
27
find_package(Doxygen REQUIRED)
28
29
#
30
## Output formats
31
#
32
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)
37
else()
38
set(GENERATE_HTML NO)
39
endif()
40
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)
44
set(GENERATE_QHP YES)
45
find_program(QHELPGENERATOR_EXECUTABLE
46
NAMES qhelpgenerator
47
DOC "qhelpgenerator tool"
48
)
49
if(NOT QHELPGENERATOR_EXECUTABLE)
50
message(FATAL_ERROR "QHELPGENERATOR_EXECUTABLE (qhelpgenerator) not found!")
51
endif()
52
else()
53
set(GENERATE_QHP NO)
54
endif()
55
56
#
57
# Configure the script and the doxyfile, then add target
58
#
59
60
if(DOXYGEN_DOT_FOUND)
61
set(HAVE_DOT YES)
62
else()
63
set(HAVE_DOT NO)
64
endif()
65
66
if(NOT DOT_PATH)
67
get_filename_component(DOT_PATH ${DOXYGEN_DOT_EXECUTABLE} PATH)
68
endif()
69
70
configure_file(doxyfile.in doxyfile @ONLY)
71
72
add_custom_target(cmake-developer-reference-all
73
${DOXYGEN_EXECUTABLE} doxyfile
74
WORKING_DIRECTORY ${CMakeDeveloperReference_BINARY_DIR})
75
76
add_custom_target(cmake-developer-reference ALL DEPENDS cmake-developer-reference-all)
77
78
#
79
# Installation
80
#
81
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
86
${COMPONENT})
87
endif()
88
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
93
${COMPONENT})
94
endif()
95
96
endif ()
97
98