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 @@ -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) +# 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_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)