[trunk] FolderReorgProposal task: Fix doxygen
[openjpeg.git] / doc / CMakeLists.txt
index e60586e904647188e0cff7eae2e5a18e3fffc427..f5ce1e24e27ff07390734b92cfb857809e5f3e61 100644 (file)
@@ -1,23 +1,32 @@
-FIND_PACKAGE(Doxygen)
-#
-IF(DOXYGEN_EXECUTABLE)
-# The Doxyfile.dox is poorly defined and produce output
-# in the source dir
-ADD_CUSTOM_TARGET(doxygen
-# By default doxygen target is added to the 'all' target. Project is small
-# thus running doxygen is not too time consuming
-  ALL
-  ${DOXYGEN}
-  ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.dox
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-)
-ENDIF(DOXYGEN_EXECUTABLE)
+# 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.
 
-INSTALL(
-  FILES       man/man1/image_to_j2k.1
-              man/man1/j2k_dump.1
-              man/man1/j2k_to_image.1
-  DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man1)
-INSTALL(
-  FILES       man/man3/libopenjpeg.3
-  DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3)
+# 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)
+  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)
+
+  # Generate new target to build the html documentation
+  add_custom_target(doc ALL
+    ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doc/Doxyfile-html.dox)
+
+else()
+
+  message(STATUS "Doxygen not found, we cannot generate the documentation")
+
+endif()