summaryrefslogtreecommitdiff
path: root/docs/CMakeLists.txt
blob: 14126cfdaaeb1a7dd306e727ed9c81f230a9343c (plain)
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
40
# cmake should not fail if sphinx is missing
find_package(Sphinx)

if(SPHINX_EXECUTABLE)
     
    if(NOT DEFINED SPHINX_THEME)
        set(SPHINX_THEME default)
    endif()
     
    if(NOT DEFINED SPHINX_THEME_DIR)
        set(SPHINX_THEME_DIR)
    endif()
     
    # configured documentation tools and intermediate build results
    set(BINARY_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/_build")
     
    # Sphinx cache with pickled ReST documents
    set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees")
     
    # HTML output directory
    set(SPHINX_HTML_DIR "${CMAKE_CURRENT_BINARY_DIR}/html")
     
    configure_file(
        "${CMAKE_CURRENT_SOURCE_DIR}/conf.py"
        "${BINARY_BUILD_DIR}/conf.py"
        @ONLY)
     
    add_custom_target(docs
        ${SPHINX_EXECUTABLE}
        -b html
        -c "${BINARY_BUILD_DIR}"
        "${CMAKE_CURRENT_SOURCE_DIR}"
        "${SPHINX_HTML_DIR}"
        COMMENT "Building HTML documentation with Sphinx")
else()
    add_custom_target(docs
        echo
        "Please install python-sphinx to build the docs or read the docs online: https://projecttox.readthedocs.org/en/latest"
        COMMENT "No sphinx executebale found")
endif()