]> Creatis software - bbtk.git/blobdiff - kernel/cmake/BBTKConfigurePackage_doc.cmake
Added cmake option BUILD_BBS_APPLI_BINARIES which allows to compile package appli...
[bbtk.git] / kernel / cmake / BBTKConfigurePackage_doc.cmake
index bd7f7717d0b17d1c576844ce62e2da6bd6a9d099..bf392a591e912bf4d38973174d5d95403d4542ca 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) 
-  
-  
+#---------------------------------------------------------------------------
+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})
+  SUBDIRS(doxygen)
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+#----------------------------------------------------------------------------
+
+
+
+#----------------------------------------------------------------------------
+# bbdoc
+#---------------------------------------------------------------------------
+IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+  SUBDIRS(bbdoc)
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+#---------------------------------------------------------------------------