53 lines
2.1 KiB
CMake
53 lines
2.1 KiB
CMake
# Generate target to build the html documentation through CMake tool
|
|
# After having configured the project with the BUILD_DOC option you can run make doc
|
|
# to generate the html documentation in the doc/html repository of the build folder.
|
|
|
|
# Try to find the doxygen tool
|
|
find_package(Doxygen)
|
|
|
|
if(DOXYGEN_FOUND)
|
|
# Configure the doxygen config file with variable from CMake and move it
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.dox.cmake.in
|
|
${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox @ONLY)
|
|
|
|
# Configure the html mainpage file of the doxygen documentation with variable
|
|
# from CMake and move it
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/mainpage.dox.in
|
|
${CMAKE_BINARY_DIR}/doc/mainpage.dox @ONLY)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openjpip.dox.in
|
|
${CMAKE_BINARY_DIR}/doc/openjpip.dox @ONLY)
|
|
# copy png file to make local (binary tree) documentation valid:
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jpip_architect.png
|
|
${CMAKE_BINARY_DIR}/doc/html/jpip_architect.png COPYONLY)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jpip_protocol.png
|
|
${CMAKE_BINARY_DIR}/doc/html/jpip_protocol.png COPYONLY)
|
|
|
|
file(GLOB headers
|
|
${OPENJPEG_SOURCE_DIR}/src/lib/openjp2/*.h
|
|
${OPENJPEG_SOURCE_DIR}/src/lib/openjp2/*.c
|
|
${OPENJPEG_SOURCE_DIR}/src/lib/openjpip/*.h
|
|
${OPENJPEG_SOURCE_DIR}/src/lib/openjpip/*.c
|
|
)
|
|
# Generate new target to build the html documentation
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html
|
|
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox
|
|
DEPENDS ${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox
|
|
${CMAKE_BINARY_DIR}/doc/mainpage.dox
|
|
${CMAKE_BINARY_DIR}/doc/openjpip.dox
|
|
${headers}
|
|
)
|
|
add_custom_target(doc ALL
|
|
DEPENDS ${CMAKE_BINARY_DIR}/doc/html/index.html
|
|
COMMENT "Building doxygen documentation"
|
|
)
|
|
|
|
# install HTML documentation (install png files too):
|
|
install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/html
|
|
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
|
PATTERN ".svn" EXCLUDE
|
|
)
|
|
else()
|
|
message(STATUS "Doxygen not found, we cannot generate the documentation")
|
|
endif()
|