From: Mickael Savinaud <savmickael@users.noreply.github.com>
Date: Thu, 6 Oct 2011 09:04:42 +0000 (+0000)
Subject: [1.5] enhance html documentation generation with cmake and add a openjpeg mainpage... 
X-Git-Tag: version.1.5~126
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40b4ecfaecce0bc957f9651942d10731103964c8;p=openjpeg

[1.5] enhance html documentation generation with cmake and add a openjpeg mainpage to this doc
---

diff --git a/CHANGES b/CHANGES
index f08a0fef..591434a3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@ What's New for OpenJPEG
 ! : changed
 + : added
 
+October 6, 2011
++ [mickael] enhance html documentation generation with cmake and add a openjpeg mainpage to this doc
+
 October 1, 2011
 + [vincent] fix output when --disable-shared or --disable-static is passed to configure. Minor fix for jpwl compilation.
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1af3a073..6c1ef7d7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -229,7 +229,10 @@ OPTION(BUILD_JPWL "Build the JPWL library and executables" OFF)
 
 #-----------------------------------------------------------------------------
 # Build DOCUMENTATION (not in ALL target and only if Doxygen is found)
-ADD_SUBDIRECTORY(doc)
+OPTION(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF)
+IF(BUILD_DOC)
+    ADD_SUBDIRECTORY(doc)
+ENDIF(BUILD_DOC)
 
 #-----------------------------------------------------------------------------
 # Buld Testing
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 08741c64..da8dd42e 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,12 +1,24 @@
+# Generate target to build the html documentatiop through CMake tool
+# After configure the project with the BUILD_DOC option you can run make html 
+# 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_EXECUTABLE)
-# The Doxyfile.dox is poorly defined and produce output
-# in the source dir
-ADD_CUSTOM_TARGET(doc
-  ${DOXYGEN}
-  ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.dox
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-)
-ENDIF(DOXYGEN_EXECUTABLE)
 
+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)
+
+ELSE(DOXYGEN_FOUND)
+
+  MESSAGE(STATUS "Doxygen not found, we cannot generate the documentation")
+
+ENDIF(DOXYGEN_FOUND)