# Find Doxygen find_package(Doxygen) if (DOXYGEN_FOUND) set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc_doxygen) set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html) # Replace variables inside @@ with the current values. set(DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxygen) set(DOXYFILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxygen) configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY) # Copy the files needd by the documentation. set(DOXYFILE_CSS ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.css) set(DOXYFILE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/header.html) set(DOXYFILE_FOOTER ${CMAKE_CURRENT_SOURCE_DIR}/footer.html) # Doxygen won't create this for us. file(MAKE_DIRECTORY ${DOXYGEN_OUTPUT_DIR}) add_custom_command( OUTPUT ${DOXYGEN_INDEX_FILE} COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT} MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN} COMMENT "Generating docs" ) add_custom_target( Doxygen DEPENDS ${DOXYGEN_INDEX_FILE} ${DOXYFILE_IN} ${DOXYFILE_CSS} ${DOXYFILE_HEADER} ${DOXYFILE_FOOTER} ) endif (DOXYGEN_FOUND)