option(BUILD_DOC "Build documentation" ON)#checkif Doxygen is installedfind_package(Doxygen)if(DOXYGEN_FOUND)#setinput and output filesset(DOXYGEN_IN ${CMAKE_CURRENT_LIST_DIR}/Doxyfile.in)set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)#requestto configure the fileconfigure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)#notethe option ALL which allows to build the docs together with the applicationadd_custom_target( docs ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen"
VERBATIM )else(DOXYGEN_FOUND)message("Doxygen need to be installed to generate the doxygen documentation")endif(DOXYGEN_FOUND)