-#===========================================================================
-# SETTINGS FOR A BBTK PACKAGE
-#===========================================================================
-
-#===========================================================================
-# THE NAME OF THE BBTK PACKAGE = NAME OF THE CURRENT DIRECTORY
-# GET_FILENAME_COMPONENT(BBTK_PACKAGE_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
+ # ---------------------------------------------------------------------
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
+
+#===========================================================================
+# CMAKE SETTINGS FOR BUILDING A BBTK PACKAGE
+#===========================================================================
+
+#===========================================================================
+# THE NAME OF THE BBTK PACKAGE
SET(BBTK_PACKAGE_NAME itk)
#===========================================================================
# PROJECT(bb${BBTK_PACKAGE_NAME})
#===========================================================================
-
#===========================================================================
# UNCOMMENT EACH LIBRARY NEEDED
-# SET(BBTK_PACKAGE_USE_VTK ON)
-# SET(BBTK_PACKAGE_USE_ITK ON)
-# SET(BBTK_PACKAGE_USE_GDCM ON)
-# SET(BBTK_PACKAGE_USE_GSMIS ON)
+# SET(${BBTK_PACKAGE_NAME}_USE_VTK ON)
+SET(${BBTK_PACKAGE_NAME}_USE_ITK ON)
+# SET(${BBTK_PACKAGE_NAME}_USE_GDCM ON)
+# SET(${BBTK_PACKAGE_NAME}_USE_GDCM2 ON)
+# SET(${BBTK_PACKAGE_NAME}_USE_GSMIS ON)
# SET(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS ON)
#===========================================================================
+#===========================================================================
+# LIST HERE THE OTHER bbtk PACKAGES NEEDED
+SET(${BBTK_PACKAGE_NAME}_USE_PACKAGES
+ # std
+ # wx
+ # itk
+ # vtk
+ # ...
+ )
+#===========================================================================
+
#===========================================================================
# PACKAGE AUTHOR
# !!! NO COMMA ALLOWED !!!
-SET(BBTK_PACKAGE_AUTHOR "laurent.guigues at creatis.insa-lyon.fr")
+SET(${BBTK_PACKAGE_NAME}_AUTHOR "laurent.guigues at creatis.insa-lyon.fr")
#===========================================================================
#===========================================================================
# PACKAGE DESCRIPTION
-SET(BBTK_PACKAGE_DESCRIPTION "Basic itk-based boxes")
+SET(${BBTK_PACKAGE_NAME}_DESCRIPTION "Basic itk-based boxes")
#===========================================================================
#===========================================================================
# PACKAGE VERSION NUMBER
-SET(BBTK_PACKAGE_MAJOR_VERSION 1)
-SET(BBTK_PACKAGE_MINOR_VERSION 0)
-SET(BBTK_PACKAGE_BUILD_VERSION 0)
+SET(${BBTK_PACKAGE_NAME}_MAJOR_VERSION 1)
+SET(${BBTK_PACKAGE_NAME}_MINOR_VERSION 0)
+SET(${BBTK_PACKAGE_NAME}_BUILD_VERSION 0)
#===========================================================================
#===========================================================================
# THE SOURCES OF THE PACKAGE
# EITHER UNCOMMENT NEXT LINE TO COMPILE ALL .cxx OF THE src DIRECTORY :
-SET(BBTK_PACKAGE_COMPILE_ALL_CXX ON)
+SET(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX ON)
# ... OR LIST THE FILES TO COMPILE MANUALLY :
-#SET(BBTK_PACKAGE_SOURCES
+#SET(${BBTK_PACKAGE_NAME}_SOURCES
# LIST HERE THE FILES TO COMPILE TO BUILD THE LIB
# E.G. TO COMPILE "toto.cxx" ADD "toto" (NO EXTENSION)
# THE PATH MUST BE RELATIVE TO THE src FOLDER
#===========================================================================
# THE xml SOURCES OF THE PACKAGE
# EITHER UNCOMMENT NEXT LINE TO bbfy ALL .xml OF THE src DIRECTORY :
-SET(BBTK_PACKAGE_COMPILE_ALL_XML ON)
+SET(${BBTK_PACKAGE_NAME}_COMPILE_ALL_XML ON)
# ... OR LIST THE FILES TO COMPILE MANUALLY :
-#SET(BBTK_PACKAGE_XML_SOURCES
+#SET(${BBTK_PACKAGE_NAME}_XML_SOURCES
# LIST HERE THE FILES TO bbfy TO BUILD THE LIB
# E.G. TO bbfy "toto.xml" ADD "toto" (NO EXTENSION)
# THE PATH MUST BE RELATIVE TO THE src FOLDER
#===========================================================================
# THE SCRIPT-DEFINED BOXES OF THE PACKAGE (bbs)
# EITHER UNCOMMENT NEXT LINE TO INCLUDE ALL .bbs OF THE bbs/boxes DIRECTORY :
-SET(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES ON)
+SET(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_BOXES ON)
# ... OR LIST THE FILES TO INCLUDE MANUALLY :
-# SET(BBTK_PACKAGE_BBS_BOXES
+# SET(${BBTK_PACKAGE_NAME}_BBS_BOXES
# LIST HERE THE bbs FILES TO INCLUDE
# E.G. TO INCLUDE "boxes/bbtoto.bbs" ADD "boxes/bbtoto" (NO EXTENSION)
# !! THE PATH MUST BE RELATIVE TO THE bbs FOLDER !!
#===========================================================================
# THE SCRIPT-DEFINED APPLICATIONS OF THE PACKAGE (bbs)
# EITHER UNCOMMENT NEXT LINE TO INCLUDE ALL .bbs OF THE bbs/appli DIRECTORY :
-SET(BBTK_PACKAGE_INCLUDE_ALL_BBS_APPLI ON)
+SET(${BBTK_PACKAGE_NAME}_INCLUDE_ALL_BBS_APPLI ON)
# ... OR LIST THE FILES TO INCLUDE MANUALLY :
-# SET(BBTK_PACKAGE_BBS_APPLI
+# SET(${BBTK_PACKAGE_NAME}_BBS_APPLI
# LIST HERE THE bbs FILES TO INCLUDE
# E.G. TO INCLUDE "appli/testToto.bbs" ADD "appli/testToto" (NO EXTENSION)
# !! THE PATH MUST BE RELATIVE TO THE bbs FOLDER !!
#===========================================================================
#===========================================================================
-INCLUDE_DIRECTORIES(
- # LIST HERE YOUR INCLUDE DIRECTORIES
- # EXCEPT BBTK'S AND THE INCLUDE DIRS THAT WERE SET
- # BY INCLUDING A LIBRARY USE FILE
+SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS
+ # LIST HERE YOUR ADDITIONAL INCLUDE DIRECTORIES
+ # EXCEPT :
+ # - src
+ # - bbtk dirs
+ # - automatically handled libraries or packages : wx, vtk... (see above)
+ # - the dirs automatically set by other libraries found by FIND_PACKAGE
+ #
+ # HERE WE USE THE std PACKAGE DIRECTLY BECAUSE WE ARE IN THE BBTK BUILD
+ # TREE ITSELF AND WE CANNOT FIND std WITH THE STANDARD MECHANISM
+ # HOWEVER A USER SHOULD USE std BY LISTING IT IN THE VARIABLE
+ # ${BBTK_PACKAGE_NAME}_USE_PACKAGES (see above)
+ ../std/src
+ # The path to the build tree folder is needed to find bbstd_EXPORT.h
+ ${PROJECT_BINARY_DIR}/packages/std/src
)
#===========================================================================
#===========================================================================
-SET(BBTK_PACKAGE_LIBS
+SET(${BBTK_PACKAGE_NAME}_LIBS
# LIST HERE THE LIBS TO LINK AGAINST (EXCEPT BBTK)
)
#===========================================================================
-
-
+# To compile with VS under x64, /bigobj flag is needed
+IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj")
+ENDIF()
#===========================================================================
# END OF USER SECTION