/
CMakeLists.txt
39 lines (28 loc) · 1.2 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
find_program(SPHINX_EXECUTABLE NAMES sphinx-build sphinx-build2)
if(NOT SPHINX_EXECUTABLE)
message(FATAL_ERROR "Could NOT find required executable sphinx-build")
endif()
add_custom_target(doc ALL)
set(CCD_DOCTREE_DIR "${CMAKE_CURRENT_BINARY_DIR}/.doctrees")
set(CCD_HTML_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/html")
add_custom_target(html COMMAND
"${SPHINX_EXECUTABLE}" -b html -d "${CCD_DOCTREE_DIR}" -q
"${CMAKE_CURRENT_SOURCE_DIR}" "${CCD_HTML_OUTPUT_DIR}")
add_dependencies(doc html)
install(DIRECTORY "${CCD_HTML_OUTPUT_DIR}"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/doc/ccd")
set(CCD_DOC_ADDITIONAL_MAKE_CLEAN_FILES
"${CCD_DOCTREE_DIR}"
"${CCD_HTML_OUTPUT_DIR}")
if(NOT WIN32)
set(CCD_MAN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/man")
add_custom_target(man COMMAND
"${SPHINX_EXECUTABLE}" -b man -d "${CCD_DOCTREE_DIR}" -q
"${CMAKE_CURRENT_SOURCE_DIR}" "${CCD_MAN_OUTPUT_DIR}")
add_dependencies(doc man)
install(DIRECTORY "${CCD_MAN_OUTPUT_DIR}/"
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
list(APPEND CCD_DOC_ADDITIONAL_MAKE_CLEAN_FILES "${CCD_MAN_OUTPUT_DIR}")
endif()
set_directory_properties(PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES ${CCD_DOC_ADDITIONAL_MAKE_CLEAN_FILES})