+ # ---------------------------------------------------------------------
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
+
+
+# ==================================
+# W A R N I N G !
+# ==================================
+#
+# This file is dupplicated as BBTKConfigurePackage2.cmake
+#
+# Only ONE commented out line, in BBTKConfigurePackage2.cmake differs
+# :-(
+# In case of modification, mind to modify BBTKConfigurePackage2.cmake as well!
+#
+
+
+MESSAGE(STATUS "")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "CONFIGURING BBTK PACKAGE ${BBTK_PACKAGE_NAME}")
+
+#---------------------------------------------------------------------------
+SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+#---------------------------------------------------------------------------
+
#---------------------------------------------------------------------------
-# If not a core package must include necessary cmake scripts
IF(NOT BBTK_CORE_PACKAGE)
- #
+ #---------------------------------------------------------------------------
+ SET(BBTK_PACKAGE_LIBS
+ ${BBTK_PACKAGE_LIBS}
+ ${BBTK_LIBRARIES})
+ MARK_AS_ADVANCED(BBTK_DIR)
+ #-------------------------------------------------------------------------
+ # If not a core package must include necessary cmake scripts
+ INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackagePaths.cmake)
INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
- INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
+ # INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
#-------------------------------------------------------------------------
# Configure bbtk_config_build.xml.in for bbi to find the bbs
INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
#-------------------------------------------------------------------------
- #
+ # WARNING :
+ # FOR THE MOMENT ONLY ONE BBTK PACKAGE PER PROJECT ALLOWED!!!
+ #
+ SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
+ # ${CMAKE_CURRENT_BINARY_DIR})
+ #-------------------------------------------------------------------------
+ #---------------------------------------------------------------------------
+ # CREATES THE bbtkPackage TEXT FILE
+ CONFIGURE_FILE(
+ ${BBTK_CMAKE_DIR}/bbtkPackage.in
+ ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage
+ @ONLY
+ )
+ IF (WIN32)
+ INSTALL ( FILES ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage
+ DESTINATION "." )
+ ENDIF (WIN32)
+ #---------------------------------------------------------------------------
+ELSE(NOT BBTK_CORE_PACKAGE)
+ SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
ENDIF(NOT BBTK_CORE_PACKAGE)
#---------------------------------------------------------------------------
-#-----------------------------------------------------------------------------
-SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-#-----------------------------------------------------------------------------
-#-----------------------------------------------------------------------------
-# DOES THE USER WANT TO BUILD THE PACKAGE ?
-OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}
- "Build the bbtk package ${BBTK_PACKAGE_NAME} ?" OFF)
-SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
-#-----------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
+
+
+#----------------------------------------------------------------------------
+# USER DEFINED ADDITIONAL INCLUDE DIRS
+INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS})
+#----------------------------------------------------------------------------
+
+
+#---------------------------------------------------------------------------
# Package dependencies
SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
${BBTK_PACKAGE_NAME}_IN_DEPS
"${BBTK_PACKAGES_DEPS}")
-ENDIF(UNIX)
-#-----------------------------------------------------------------------------
+#---------------------------------------------------------------------------
#SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
-#-----------------------------------------------------------------------------
-# IF THE USER HAS CHOSEN TO BUILD THE PACKAGE
-IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
- #---------------------------------------------------------------------------
- #---------------------------------------------------------------------------
- # If package deps not in global deps : add them
- IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
- SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
- CACHE INTERNAL "bbtk packages dependencies" FORCE)
-MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
- ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
- #---------------------------------------------------------------------------
- #---------------------------------------------------------------------------
- # Package dependencies
- IF(${BBTK_PACKAGE_NAME}_USE_VTK)
- SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
- SET(${BBTK_PACKAGE_NAME}_LIBS
- ${${BBTK_PACKAGE_NAME}_LIBS}
- ${BBTK_VTK_LIBRARIES}
- )
- ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
-
- IF(${BBTK_PACKAGE_NAME}_USE_ITK)
- SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
- SET(${BBTK_PACKAGE_NAME}_LIBS
- ${${BBTK_PACKAGE_NAME}_LIBS}
- ${BBTK_ITK_LIBRARIES}
- )
- ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
-
- IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
- SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE)
- SET(${BBTK_PACKAGE_NAME}_LIBS
- ${${BBTK_PACKAGE_NAME}_LIBS}
- ${BBTK_GDCM_LIBRARIES}
- )
- ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
-
- IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
- SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
- SET(${BBTK_PACKAGE_NAME}_LIBS
- ${${BBTK_PACKAGE_NAME}_LIBS}
- ${BBTK_GSMIS_LIBRARIES}
- )
- ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
-
- IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
- IF(BBTK_CORE_PACKAGE)
- SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
- MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
- # bbtk already links against wx ...
- # SET(${BBTK_PACKAGE_NAME}_LIBS
- # ${${BBTK_PACKAGE_NAME}_LIBS}
- # ${BBTK_WXWIDGETS_LIBRARIES}
- # )
- ELSE(BBTK_CORE_PACKAGE)
- # If linking against a non-wx bbtk : problem
- IF(NOT BBTK_USE_WXWIDGETS)
- MESSAGE(FATAL_ERROR "The bbtk package ${BBTK_PACKAGE_NAME} needs wxWidgets however the bbtk library which was found on your system was not compiled with wxWidgets : recompile it and rebuild the package.")
- ELSE(NOT BBTK_USE_WXWIDGETS)
- SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
- ENDIF(NOT BBTK_USE_WXWIDGETS)
- ENDIF(BBTK_CORE_PACKAGE)
- ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
+#----------------------------------------------------------------------------
+# VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in
+SET(BBTK_PACKAGE_AUTHOR "${${BBTK_PACKAGE_NAME}_AUTHOR}")
+SET(BBTK_PACKAGE_DESCRIPTION "${${BBTK_PACKAGE_NAME}_DESCRIPTION}")
+SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION})
+SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION})
+SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION})
+SET(BBTK_PACKAGE_VERSION
+ "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"")
+#----------------------------------------------------------------------------
- #---------------------------------------------------------------------------
+#---------------------------------------------------------------------------
+# If package deps not in global deps : add them
+IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
+ SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
+ CACHE INTERNAL "bbtk packages dependencies" FORCE)
+ # MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
+ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
+#---------------------------------------------------------------------------
- #----------------------------------------------------------------------------
- # DEFINES ${PACKAGE_NAME}_AUTHOR
- # ADD_DEFINITIONS( -D${PACKAGE_NAME}_AUTHOR="${PACKAGE_AUTHOR}")
- #----------------------------------------------------------------------------
- #----------------------------------------------------------------------------
- # DEFINES ${PACKAGE_NAME}_DESCRIPTION
- # ADD_DEFINITIONS( -D${PACKAGE_NAME}_DESCRIPTION="${PACKAGE_DESCRIPTION}")
- #----------------------------------------------------------------------------
- #----------------------------------------------------------------------------
- # DEFINES ${BBTK_PACKAGE_NAME}_VERSION
- SET(${BBTK_PACKAGE_NAME}_VERSION
- "${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}")
- #ADD_DEFINITIONS( -D${${BBTK_PACKAGE_NAME}_NAME}_VERSION=${${BBTK_PACKAGE_NAME}_VERSION})
- #----------------------------------------------------------------------------
-
-
- #---------------------------------------------------------------------------
- # Recurse into subdirs
- SUBDIRS(src)
- SUBDIRS(doc)
- SUBDIRS(bbs)
#---------------------------------------------------------------------------
+# Package dependencies
+IF(${BBTK_PACKAGE_NAME}_USE_VTK)
+ SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${VTK_LIBRARIES}
+ )
+ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
+
+IF(${BBTK_PACKAGE_NAME}_USE_ITK)
+ SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${ITK_LIBRARIES}
+ )
+
+ #Need to add additional gdcm libraries provided by system
+ IF(WIN32)
+ IF(USE_GDCM2)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ vtkgdcm gdcmIOD gdcmMSFF gdcmexpat gdcmCommon gdcmMEXD gdcmDSED gdcmDICT
+ gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 socketxx gdcmopenjpeg gdcmcharls
+ )
+ ENDIF()
+ ENDIF(WIN32)
+ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
+
+IF(${BBTK_PACKAGE_NAME}_USE_QT)
+ SET(USE_QT4 ON CACHE BOOL "Use QT" FORCE)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${QT_LIBRARIES}
+ )
+ENDIF(${BBTK_PACKAGE_NAME}_USE_QT)
+
+#----------
+
+IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
+ SET(USE_GDCM ON CACHE BOOL "Use GDCM" )
+ SET(USE_GDCM2 OFF CACHE BOOL "Use GDCM2" )
+ SET(USE_GDCM_VTK ON CACHE BOOL "Use GDCM_VTK" FORCE)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${GDCM_LIBRARIES}
+ )
+
+ IF(USE_GDCM)
+ IF(USE_GDCM2)
+ message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
+ ENDIF(USE_GDCM2)
+ ENDIF(USE_GDCM)
+ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
+
+#----------
+
+IF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
+ SET(USE_GDCM2 ON CACHE BOOL "Use GDCM2" FORCE)
+ SET(USE_GDCM2_VTK ON CACHE BOOL "Use GDCM2_VTK" FORCE)
+ #For some reasons GDCM_LIBRARY is not defined for gdcm2 in windows
+ IF(WIN32)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ vtkgdcm gdcmIOD gdcmMSFF gdcmexpat gdcmCommon gdcmMEXD gdcmDSED gdcmDICT
+ gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 socketxx gdcmopenjpeg gdcmcharls
+ )
+ ELSE(WIN32)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${GDCM_LIBRARY}
+ )
+ ENDIF(WIN32)
+
+ IF(USE_GDCM2)
+ IF(USE_GDCM)
+ message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
+ ENDIF(USE_GDCM)
+ ENDIF(USE_GDCM2)
+ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
+
+#----------
+
+IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
+ SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${GSMIS_LIBRARIES}
+ )
+ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
+
+IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
+ IF(BBTK_CORE_PACKAGE)
+ SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
+ MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
+ # bbtk already links against wx ...
+ IF(WIN32)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${WXWIDGETS_LIBRARIES}
+ )
+ ENDIF(WIN32)
+ ELSE(BBTK_CORE_PACKAGE)
+ # If linking against a non-wx bbtk : problem
+ IF(NOT BBTK_BUILT_WITH_WX)
+ MESSAGE(FATAL_ERROR "The bbtk package ${BBTK_PACKAGE_NAME} needs wxWidgets however the bbtk library which was found on your system was not compiled with wxWidgets : recompile it and rebuild the package.")
+ ELSE(NOT BBTK_BUILT_WITH_WX)
+ SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
+ # bbtk already links against wx ...
+ IF(WIN32)
+ SET(${BBTK_PACKAGE_NAME}_LIBS
+ ${${BBTK_PACKAGE_NAME}_LIBS}
+ ${WXWIDGETS_LIBRARIES}
+ )
+ ENDIF(WIN32)
+ ENDIF(NOT BBTK_BUILT_WITH_WX)
+ ENDIF(BBTK_CORE_PACKAGE)
+ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
+
#---------------------------------------------------------------------------
-ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
- #-------------------------------------------------------------------------
-
- #-----------------------------------------------------------------------
- # If package deps in global deps : remove them
- IF(${BBTK_PACKAGE_NAME}_IN_DEPS)
- STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};"
- "" TEMP
- ${BBTK_PACKAGES_DEPS})
-
- SET(BBTK_PACKAGES_DEPS ${TEMP}
- CACHE INTERNAL "bbtk packages dependencies" FORCE)
- ENDIF(${BBTK_PACKAGE_NAME}_IN_DEPS)
- #-----------------------------------------------------------------------
-
- #-----------------------------------------------------------------------
- # Remove the package include scripts to avoid loading it by include *
- FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs)
- FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
- #-----------------------------------------------------------------------
-
+
+MESSAGE(STATUS "")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "${BBTK_PACKAGE_NAME} link libraries:")
+MESSAGE(STATUS "${${BBTK_PACKAGE_NAME}_LIBS}")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
#---------------------------------------------------------------------------
-ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
+# Recurse into ADD_SUBDIRECTORY
+ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(doc)
+ADD_SUBDIRECTORY(bbs)
+ADD_SUBDIRECTORY(data)
+#---------------------------------------------------------------------------
+
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
+
#-----------------------------------------------------------------------------
# EOF
#-----------------------------------------------------------------------------