]> 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 dbfa54036bda31ab977de1e780851ae4d56b8411..bf392a591e912bf4d38973174d5d95403d4542ca 100644 (file)
 #---------------------------------------------------------------------------
-# If not a core package 
-# set the build doc option
-# and include necessary cmake scripts
-IF(NOT BBTK_CORE_PACKAGE)
-## TO DO 
-# INCLUDE(${BBTK_DIR}/BBTKMacros.cmake)
-# INCLUDE(${BBTK_DIR}/BBTKFindLibraries.cmake)
-# etc.
-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)
-IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
-  SET(BUILD_bbtk_DOC_BBTK_PACKAGE ON) 
-  # INCLUDE
-ENDIF (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)
-IF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
-  SET(BUILD_bbtk_DOC_DOXYGEN ON) 
-  # INCLUDE
-ENDIF (BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
-ENDIF(NOT BBTK_CORE_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)
 #---------------------------------------------------------------------------
 
 #----------------------------------------------------------------------------
 
 
-
-IF(BUILD_bbtk_DOC_DOXYGEN) 
+#----------------------------------------------------------------------------
+# Doxygen
+#----------------------------------------------------------------------------
+IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+  SET(${BBTK_PACKAGE_NAME}_DOXYGEN_REL_PATH ${BBTK_PACKAGE_NAME})
   SUBDIRS(doxygen)
-
-  # 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) 
-
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_DOXYGEN_DOC)
+#----------------------------------------------------------------------------
 
 
 
 #----------------------------------------------------------------------------
 # 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(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+  SUBDIRS(bbdoc)
+ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}_HTML_DOC)
+#---------------------------------------------------------------------------