-# Generate target to build the html documentatiop through CMake tool
-# After configure the project with the BUILD_DOC option you can run make html
+# 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.
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# Try to find the doxygen tool
-FIND_PACKAGE(Doxygen)
-
-IF(DOXYGEN_FOUND)
+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-html.dox.cmake ${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.cmake ${CMAKE_BINARY_DIR}/doc/mainpage.dox)
-
- # Generate new target to build the html documentation
- ADD_CUSTOM_TARGET(html ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.dox.cmake.in
+ ${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox @ONLY)
-ELSE(DOXYGEN_FOUND)
+ # 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)
- MESSAGE(STATUS "Doxygen not found, we cannot generate the documentation")
+ 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"
+ )
-ENDIF(DOXYGEN_FOUND)
+ # install HTML documentation (install png files too):
+ install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/html
+ DESTINATION share/doc
+ PATTERN ".svn" EXCLUDE
+ )
+else()
+ message(STATUS "Doxygen not found, we cannot generate the documentation")
+endif()