2020-05-25 07:34:13 +08:00
|
|
|
find_package(Doxygen)
|
|
|
|
if (DOXYGEN_FOUND)
|
2021-07-23 14:40:47 +08:00
|
|
|
# Generate example list for documentation
|
|
|
|
set(EXAMPLE_LIST "${CMAKE_CURRENT_BINARY_DIR}/example_list.md")
|
|
|
|
file(WRITE ${EXAMPLE_LIST} "# Examples")
|
|
|
|
file(GLOB_RECURSE EXAMPLES RELATIVE ${PROJECT_SOURCE_DIR}
|
|
|
|
"${PROJECT_SOURCE_DIR}/examples/*.cpp")
|
|
|
|
foreach(EXAMPLE IN LISTS EXAMPLES)
|
|
|
|
file(APPEND ${EXAMPLE_LIST} "\n@example ${EXAMPLE}")
|
|
|
|
endforeach(EXAMPLE IN LISTS EXAMPLES)
|
|
|
|
|
|
|
|
configure_file(Doxyfile.in Doxyfile @ONLY)
|
2020-05-25 07:34:13 +08:00
|
|
|
|
|
|
|
# note the option ALL which allows to build the docs together with the application
|
|
|
|
add_custom_target(doc
|
|
|
|
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
|
|
|
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)
|