find_package(Doxygen REQUIRED) find_package(Sphinx REQUIRED) set(EMF_INTERFACE_C_INPUT_PATH "${PROJECT_SOURCE_DIR}/emf_core/include/emf_core ${PROJECT_SOURCE_DIR}/emf_core_cpp/include/emf_core ${PROJECT_SOURCE_DIR}/emf_core_binding/include/emf_core") set(EMF_INTERFACE_C_INCLUDE_PATH "${PROJECT_SOURCE_DIR}/emf_core/include ${PROJECT_SOURCE_DIR}/emf_core_cpp/include ${PROJECT_SOURCE_DIR}/emf_core_binding/include") set(DOXYFILE_IN doxygen/Doxyfile.in) set(DOXYFILE_OUT doxygen/Doxyfile) set(SPHINX_IN sphinx/conf.py.in) set(SPHINX_OUT sphinx-config/conf.py) set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doxygen) set(DOXYGEN_XML_OUTPUT_DIR ${DOXYGEN_OUTPUT_DIR}/xml) set(SPHINX_CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR}/sphinx-config) set(SPHINX_INPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/sphinx) set(SPHINX_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/sphinx) configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY) configure_file(${SPHINX_IN} ${SPHINX_OUT} @ONLY) add_custom_target(doc ALL) add_custom_target(doxygen ALL COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT} COMMENT "Generating doxygen") add_custom_target(sphinx ALL COMMAND ${SPHINX_EXECUTABLE} -b html -c ${SPHINX_CONFIG_DIR} ${SPHINX_INPUT_DIR} ${SPHINX_OUTPUT_DIR} COMMENT "Generating sphinx") add_dependencies(sphinx doxygen) add_dependencies(doc doxygen sphinx) install(DIRECTORY ${DOXYGEN_OUTPUT_DIR}/html DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}/doxygen ) install(DIRECTORY ${SPHINX_OUTPUT_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}/sphinx )