include_guard() find_package(Doxygen) if(DOXYGEN_FOUND) include(${CMAKE_CURRENT_LIST_DIR}/doxygen-setup.cmake) # the km3net-jpp-doxygen-mainpage target will run # the mainpage.sh script which generates the mainpage.dox file # used by Doxygen to produce the main (aka home) documentation page. # add_custom_target(km3net-jpp-doc-doxygen-mainpage COMMAND ${CMAKE_CURRENT_BINARY_DIR}/mainpage.sh BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mainpage.dox) # the doxygen-mainpage.cmake file generates the mainpage.sh script # that is used by the target above (km3net-jpp-doxygen-mainpage). # # During the generation of the mainpage.sh, target dependencies # will be added to km3net-jpp-doxygen-mainpage # Ideally we should probably also add file dependencies (on scripts) # but that is not currently done. # include(${CMAKE_CURRENT_LIST_DIR}/doxygen-mainpage.cmake) doxygen_add_docs( km3net-jpp-doc-doxygen ${PROJECT_SOURCE_DIR}/software ${PROJECT_SOURCE_DIR}/examples ${CMAKE_CURRENT_BINARY_DIR}/mainpage.dox COMMENT "Generate doxygen pages" ) add_dependencies(km3net-jpp-doc-doxygen km3net-jpp-doc-doxygen-mainpage) # if we have doxygen for km3net-dataformat, build it before our own documentation # as we're using it. if(TARGET km3net-dataformat-doxygen) add_dependencies(km3net-jpp-doc-doxygen-mainpage km3net-dataformat-doxygen) endif() endif()