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
|
find_package(Doxygen 1.9 REQUIRED)
find_package(Sphinx REQUIRED)
file(GLOB_RECURSE FDB_PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../src/fdb5/api/*.h)
file(GLOB_RECURSE PYFDB_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../src/pyfdb/*.py)
file(GLOB_RECURSE Z3FDB_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../src/z3fdb/*.py)
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)
file(GLOB_RECURSE PYFDB_DOC_TEST_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../docs/pyfdb/example.rst)
add_custom_command(
DEPENDS
${FDB_PUBLIC_HEADERS}
${PYFDB_SRCS}
${Z3FDB_SRCS}
${SPHINX_INPUT_FILES}
conf.py
COMMAND
DOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE}
SPHINX_EXECUTABLE=${SPHINX_EXECUTABLE}
DOCBUILD_OUTPUT=${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/build_docs.sh
MAIN_DEPENDENCY ${DOXYFILE}
COMMENT "Generating documentation"
OUTPUT ${SPHINX_INDEX_FILE} ${DOXYGEN_INDEX_FILE}
)
add_custom_target(fdb-doc ALL DEPENDS ${SPHINX_INDEX_FILE} ${DOXYGEN_INDEX_FILE})
|