38 lines
1.2 KiB
CMake
38 lines
1.2 KiB
CMake
# 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)
|