find_package(Sphinx) if(SPHINX_EXECUTABLE) if(NOT DEFINED SPHINX_THEME) set(SPHINX_THEME sphinx_rtd_theme) set(SPHINX_THEME_OPTIONS "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False") endif() if(NOT DEFINED SPHINX_THEME_DIR) set(SPHINX_THEME_DIR) endif() if(NOT DEFINED SPHINX_OPTIONS) set(SPHINX_OPTIONS) endif() set(SPHINX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/source") # configured documentation tools and intermediate build results set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}") # Sphinx cache with pickled ReST documents set(SPHINX_CACHE_DIR "${SPHINX_BUILD_DIR}/_doctrees") # HTML output directory set(SPHINX_HTML_DIR "${SPHINX_BUILD_DIR}/html") # MAN output directory set(SPHINX_MAN_DIR "${SPHINX_BUILD_DIR}/man") configure_file( "${SPHINX_SOURCE_DIR}/conf.py.in" "${SPHINX_BUILD_DIR}/conf.py" @ONLY) add_custom_target("docs" ${SPHINX_EXECUTABLE} -q -a -b html -c "${SPHINX_BUILD_DIR}" -d "${SPHINX_CACHE_DIR}" ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_HTML_DIR}" BYPRODUCTS ${SPHINX_HTML_DIR} COMMENT "Build HTML documentation with Sphinx") #list(APPEND ADDITIONAL_CLEAN_FILES ${SPHINX_CACHE_DIR} ${SPHINX_HTML_DIR}) add_custom_target(man ${SPHINX_EXECUTABLE} -q -a -b man -c "${SPHINX_BUILD_DIR}" -d "${SPHINX_CACHE_DIR}" ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_MAN_DIR}" BYPRODUCTS ${SPHINX_MAN_DIR} COMMENT "Build manpage documentation with Sphinx") #list(APPEND ADDITIONAL_CLEAN_FILES ${SPHINX_CACHE_DIR} ${SPHINX_MAN_DIR}) endif()