Blame cmake/generateDoc.cmake
|
Packit |
01d647 |
# -helper macro to add a "doc" target with CMake build system.
|
|
Packit |
01d647 |
# and configure doxy.config.in to doxy.config
|
|
Packit |
01d647 |
#
|
|
Packit |
01d647 |
# target "doc" allows building the documentation with doxygen/dot on WIN32, Linux and Mac
|
|
Packit |
01d647 |
#
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
find_package(Doxygen REQUIRED dot)
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
macro(generate_documentation DOX_CONFIG_FILE)
|
|
Packit |
01d647 |
if(NOT EXISTS "${DOX_CONFIG_FILE}")
|
|
Packit |
01d647 |
message(FATAL_ERROR "Configuration file for doxygen not found")
|
|
Packit |
01d647 |
endif()
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#Define variables
|
|
Packit |
01d647 |
set(INCDIR "${PROJECT_SOURCE_DIR}/include/exiv2")
|
|
Packit |
01d647 |
set(SRCDIR "${PROJECT_SOURCE_DIR}/src")
|
|
Packit |
01d647 |
set(ROOTDIR "${PROJECT_SOURCE_DIR}")
|
|
Packit |
01d647 |
set(BINDIR "${PROJECT_BINARY_DIR}")
|
|
Packit |
01d647 |
#set(TESTSDIR "${PROJECT_SOURCE_DIR}/tests")
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
configure_file(${DOX_CONFIG_FILE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.config @ONLY) #OUT-OF-PLACE LOCATION
|
|
Packit |
01d647 |
configure_file(${PROJECT_SOURCE_DIR}/src/doxygen.hpp.in ${PROJECT_BINARY_DIR}/doxygen.hpp @ONLY)
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
set(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config")
|
|
Packit |
01d647 |
add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG})
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
install(DIRECTORY "${PROJECT_BINARY_DIR}/doc/html/" DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES doc)
|
|
Packit |
01d647 |
endmacro()
|