]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKConfigurePackage_doc.cmake
Feature #1774
[bbtk.git] / kernel / cmake / BBTKConfigurePackage_doc.cmake
index bd7f7717d0b17d1c576844ce62e2da6bd6a9d099..875fbf383b3902d7350f97b394b5ceb921444763 100644 (file)
-  #----------------------------------------------------------------------------
-
-
-
-  IF(BUILD_bbtk_DOC_DOXYGEN) 
-       FIND_PACKAGE(Doxygen)
-       IF(DOXYGEN)
-               # Build the package documentation
-               SET(DOXYGEN_HTML_OUTPUT "html")
-               SET(DOXYGEN_LOGFILE "${CMAKE_CURRENT_BINARY_DIR}/bbtk_${BBTK_PACKAGE_NAME}_Doxygen.log")
-
-               # Input : Sources
-               SET(DOXYGEN_INPUT 
-                 ${DOXYGEN_INPUT}
-                 ${PROJECT_SOURCE_DIR}/src/packages/${BBTK_PACKAGE_NAME}
-               )
-
-               STRING(REGEX REPLACE ";" " " DOXYGEN_INPUT "${DOXYGEN_INPUT}")
-
-               # Output dir
-               SET(DOXYGEN_OUTPUT 
-                 ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/)
-
-               # Doc exclude
-               SET(DOXYGEN_EXCLUDE "")
-               STRING(REGEX REPLACE ";" " " DOXYGEN_EXCLUDE "${DOXYGEN_EXCLUDE}")
-
-               # Predefined symbols
-               SET(DOXYGEN_PROJECT_NAME "BBTK ${BBTK_PACKAGE_NAME} BBTK_PACKAGE")
-
-               STRING(REGEX REPLACE ";" " " DOXYGEN_DOC_PREDEFINED "${DOXYGEN_DOC_PREDEFINED}")
-
-               #-----------------------------------------------------------------------------
-               # DOT verification
-
-               IF(DOT)
-                  GET_FILENAME_COMPONENT(DOXYGEN_DOT_PATH ${DOT} PATH)
-                  SET(DOXYGEN_HAVE_DOT "YES")
-               ELSE(DOT)
-                  SET(DOXYGEN_DOT_PATH "")
-                  SET(DOXYGEN_HAVE_DOT "NO")
-               ENDIF(DOT)
-
-               #-----------------------------------------------------------------------------
-               # Create file and project
-               CONFIGURE_FILE(
-                  ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Doxyfile.txt
-                  ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.txt
-                  IMMEDIATE
-               )
-
-               ADD_CUSTOM_COMMAND(
-                 OUTPUT ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/html/index.html
-                 COMMAND 
-                 ${DOXYGEN} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.txt
-                 DEPENDS bb${BBTK_PACKAGE_NAME} 
-               )
-
-               ADD_CUSTOM_TARGET(doxygen-bbtk-${BBTK_PACKAGE_NAME} ALL
-                  DEPENDS ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/html/index.html 
-               )
-       ELSE(DOXYGEN)
-               MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
-       ENDIF(DOXYGEN)
-
-  ENDIF(BUILD_bbtk_DOC_DOXYGEN) 
-
-
-
-
-  #----------------------------------------------------------------------------
-  # bbdoc
-  #---------------------------------------------------------------------------
-  IF(BUILD_bbtk_DOC_BBTK_PACKAGE) 
-    
-    #    MARK_AS_ADVANCED( bbdoc_PATH )
-
-    FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc/packages)
-    FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME})
-      
-
-    IF(WIN32)
-      IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-       SET(bbdoc_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/$(IntDir)/bbdoc.exe)
-      ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-       SET(bbdoc_EXECUTABLE $(SolutionDir)/bin/$(OutDir)/bbdoc.exe)
-      ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-    ELSE(WIN32)
-      SET(bbdoc_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/bbdoc)
-    ENDIF(WIN32)      
-  
-# NEVER USE CONFIGURATION FILE BUT ALWAYS BUILD WITH THE JUST COMPILED LIBS 
-# NOT THE INSTALLED ONES !  
- #   IF(-bbtk_USE_CONFIGURATION_FILE)
-      # just pass the package name, not the full path name!
-      # and pass the option '1' to bbdoc to use config file
- #     SET(bbdoc_INPUT ${BBTK_PACKAGE_NAME} 1)    
- #   ELSE(-bbtk_USE_CONFIGURATION_FILE)
-      
-      
-      
-      IF(WIN32)
-       IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-         SET(bbdoc_INPUT ${EXECUTABLE_OUTPUT_PATH}/$(IntDir)/${BBTK_PACKAGE_NAME})
-       ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-         SET(bbdoc_INPUT $(SolutionDir)/bin/$(OutDir)/${BBTK_PACKAGE_NAME})
-       ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
-      ELSE(WIN32)
-        SET(bbdoc_INPUT ${LIBRARY_OUTPUT_PATH}/${BBTK_PACKAGE_NAME})
-      ENDIF(WIN32)    
- #   ENDIF(-bbtk_USE_CONFIGURATION_FILE)
-    
-
-    ADD_CUSTOM_COMMAND(
-      OUTPUT ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html
-      COMMAND 
-      ${bbdoc_EXECUTABLE} ${bbdoc_INPUT} ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html
-      DEPENDS 
-      bb${BBTK_PACKAGE_NAME}
-      ${bbdoc_EXECUTABLE}
-      )     
-    
-    ADD_CUSTOM_TARGET(${BBTK_PACKAGE_NAME}.html ALL
-      DEPENDS ${PROJECT_BINARY_DIR}/doc/packages/${BBTK_PACKAGE_NAME}/${BBTK_PACKAGE_NAME}.html)
-    
-  ENDIF(BUILD_bbtk_DOC_BBTK_PACKAGE) 
-  
-  
+ # ---------------------------------------------------------------------
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ #                        pour la SantÈ)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ #  This software is governed by the CeCILL-B license under French law and
+ #  abiding by the rules of distribution of free software. You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL-B
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ #  or in the file LICENSE.txt.
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+
+#---------------------------------------------------------------------------
+IF(BBTK_CORE_PACKAGE)
+  # If a core package set doc options from bbtk global ones
+  #IF (BUILD_BBTK_DOC_PACKAGE)
+  #  SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC ON)
+  #ELSE (BUILD_BBTK_DOC_PACKAGE)
+  #  SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC OFF)
+  #ENDIF (BUILD_BBTK_DOC_PACKAGE)
+  IF (BUILD_BBTK_DOC_DOXYGEN)
+    SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC ON)
+  ELSE (BUILD_BBTK_DOC_DOXYGEN)
+    SET(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC OFF)
+  ENDIF (BUILD_BBTK_DOC_DOXYGEN)
+ELSE(BBTK_CORE_PACKAGE)
+  # If not a core package 
+  # Create the build doc options
+  #OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC 
+  #  "Build the bbtk package ${BBTK_PACKAGE_NAME} html documentation ?" OFF)
+  #SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+  OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC 
+    "Build the bbtk package ${BBTK_PACKAGE_NAME} doxygen documentation ?" OFF)
+  SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+ENDIF(BBTK_CORE_PACKAGE)
+#---------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+
+
+#----------------------------------------------------------------------------
+# Doxygen
+#----------------------------------------------------------------------------
+IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+  SET(${BBTK_PACKAGE_NAME}_DOXYGEN_REL_PATH ${BBTK_PACKAGE_NAME})
+  ADD_SUBDIRECTORY(doxygen)
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+#----------------------------------------------------------------------------
+
+
+
+#----------------------------------------------------------------------------
+# bbdoc
+#---------------------------------------------------------------------------
+#IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+  ADD_SUBDIRECTORY(bbdoc)
+#ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+#---------------------------------------------------------------------------