Forked from
Air Shower Physics / corsika
1462 commits behind the upstream repository.
-
ralfulrich authoredralfulrich authored
CMakeLists.txt 1.87 KiB
find_package (Doxygen OPTIONAL_COMPONENTS dot mscgen dia)
find_package (Sphinx)
if (DOXYGEN_FOUND)
if (NOT DOXYGEN_DOT_EXECUTABLE)
message (FATAL_ERROR "Found doxygen but not 'dot' command, please install graphviz or set DOXYGEN_DOT_EXECUTABLE")
endif (NOT DOXYGEN_DOT_EXECUTABLE)
set (DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
set (DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
set (DOXYGEN_GENERATE_HTML YES)
set (DOXYGEN_GENERATE_MAN YES)
configure_file (${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
message ("Start doxygen with \"make docs\"")
# note the option ALL which allows to build the docs together with the application
add_custom_target (docs # ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen"
VERBATIM
)
add_custom_command (TARGET docs POST_BUILD
COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/latex; pdflatex refman.tex
)
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc OPTIONAL)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf DESTINATION share/doc OPTIONAL)
if (SPHINX_FOUND)
set (SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR})
set (SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/docs/sphinx)
add_custom_command (TARGET docs POST_BUILD
COMMAND ${SPHINX_EXECUTABLE} -b html
# Tell Breathe where to find the Doxygen output
-Dbreathe_projects.CORSIKA8=${CMAKE_CURRENT_BINARY_DIR}/xml/
${SPHINX_SOURCE} ${SPHINX_BUILD}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating documentation with Sphinx"
)
else (SPHINX_FOUND)
message ("Sphinx not found;")
endif (SPHINX_FOUND)
else (DOXYGEN_FOUND)
message ("Doxygen need to be installed to generate the doxygen documentation")
endif (DOXYGEN_FOUND)