File: CMakeLists.txt

package info (click to toggle)
eckit 2.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 11,044 kB
  • sloc: cpp: 111,103; ansic: 2,826; yacc: 590; lex: 361; python: 302; sh: 162; makefile: 53
file content (28 lines) | stat: -rw-r--r-- 932 bytes parent folder | download
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
include(ProcessorCount)
ProcessorCount(nproc)
find_package(Doxygen 1.9 REQUIRED)
find_package(Sphinx REQUIRED)

file(GLOB_RECURSE ECKIT_PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../src/eckit/**/*.h)
file(GLOB_RECURSE SPHINX_INPUT_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.rst)
set(DOXYGEN_INDEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html/index.html)
set(SPHINX_INDEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/sphinx/index.html)
set(DOXYFILE ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)

add_custom_command(
    DEPENDS 
        ${ECKIT_PUBLIC_HEADERS}
        ${SPHINX_INPUT_FILES}
        conf.py
    COMMAND
    sphinx-build -j ${nproc} -W --keep-going ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/docs/eckit
    MAIN_DEPENDENCY ${DOXYFILE}
    COMMENT "Generating documentation"
    OUTPUT ${SPHINX_INDEX_FILE} ${DOXYGEN_INDEX_FILE}
)

add_custom_target(eckit-doc ALL 
    DEPENDS 
        ${SPHINX_INDEX_FILE} 
        ${DOXYGEN_INDEX_FILE}
)