Files
fail/cmake/doxygen.cmake
Adrian Böckenkamp 6d8b3331d8 doxygen: doc generation fixed
Doxygen skips undesired directories and files now. In addition, the
documentation of the "fail" namespace has been fixed. Note that there
are still several warnings (due to incomplete documentations) in the
Doxygen output.

Change-Id: Idad4f1ecff453765b307fa40a5c1cebc0c2ce2bb
2013-05-29 13:34:12 +02:00

34 lines
1.3 KiB
CMake

### Setup doxygen documentation
find_package(Doxygen)
if(DOXYGEN_FOUND)
# Using a .in file means we can use CMake to insert project settings
# into the doxyfile. For example, CMake will replace @PROJECT_NAME@ in
# a configured file with the CMake PROJECT_NAME variable's value.
set(FAIL_DOC_OUTPUT "${PROJECT_BINARY_DIR}/doc")
execute_process(COMMAND find "${PROJECT_SOURCE_DIR}/src/core/" -type d -printf "%p "
OUTPUT_VARIABLE FAIL_DOC_SOURCE)
set(FAIL_DOC_EXCLUDE_PATTERNS "*/util/pstream.h */util/optionparser/optionparser.h")
file(MAKE_DIRECTORY ${FAIL_DOC_OUTPUT})
# FIXME: The find command does not quote the paths to be processed by doxygen. That
# means, the path to your Fail* directory should not contain any blanks.
configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in
${PROJECT_BINARY_DIR}/Doxyfile @ONLY}
)
## call make doc to generate documentation
set(line0 "[${PROJECT_NAME}] Generating Fail* documentation with Doxygen")
set(line1 " Directories: ${FAIL_DOC_SOURCE}")
set(line2 " Excluded patterns: ${FAIL_DOC_EXCLUDE_PATTERNS}")
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
DEPENDS ${PROJECT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "${line0}\n${line1}\n${line2}" VERBATIM
)
endif(DOXYGEN_FOUND)