# 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()