File: CMakeLists.txt

package info (click to toggle)
dlpack 1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 472 kB
  • sloc: python: 277; ansic: 97; cpp: 64; makefile: 42; sh: 24
file content (37 lines) | stat: -rw-r--r-- 1,251 bytes parent folder | download | duplicates (2)
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
find_package(Doxygen QUIET)
if(NOT DOXYGEN_FOUND)
    message(FATAL_ERROR "Doxygen is needed to build the documentation.")
endif()

# TODO: add config file
set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
set(doxyfile    ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
set(doxygen_output_dir ${CMAKE_CURRENT_BINARY_DIR}/doxygen)

configure_file(${doxyfile_in} ${doxyfile} @ONLY)

file(MAKE_DIRECTORY ${doxygen_output_dir})

add_custom_target(Doxygen ALL
    COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    COMMENT "Generating API documentation with Doxygen"
    VERBATIM)

find_program(SPHINX_EXECUTABLE
    NAMES sphinx-build
    DOC "Path to sphinx-build executable")

set(sphinx_source ${CMAKE_CURRENT_SOURCE_DIR}/source)
set(sphinx_build ${CMAKE_CURRENT_BINARY_DIR}/build/latest)
set(doxygen_xml_builddir ${doxygen_output_dir}/xml)

add_custom_target(Sphinx ALL
    COMMAND ${SPHINX_EXECUTABLE} -b html
    -Dbreathe_projects.dlpack=${doxygen_xml_builddir}
    ${sphinx_source} ${sphinx_build} -WT --keep-going
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    COMMENT "Generating documentation with Sphinx"
    VERBATIM)

install(DIRECTORY ${sphinx_build} DESTINATION share/${PROJECT_NAME}/docs)