]> Creatis software - bbtk.git/blobdiff - packages/itk/CMakeLists.txt
Preapre use of GDCM2
[bbtk.git] / packages / itk / CMakeLists.txt
index 33103f88838e2b44f2ef3c390d5ea3f6b8dab3a4..6a123ede874918871e2fd18167a1d3930eeff539 100644 (file)
@@ -1,10 +1,9 @@
 #===========================================================================
-# SETTINGS FOR A BBTK PACKAGE
+# CMAKE SETTINGS FOR BUILDING 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)
+# THE NAME OF THE BBTK PACKAGE
 SET(BBTK_PACKAGE_NAME itk)
 #===========================================================================
 
@@ -13,40 +12,51 @@ 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
@@ -56,9 +66,9 @@ SET(BBTK_PACKAGE_COMPILE_ALL_CXX ON)
 #===========================================================================
 # 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
@@ -68,9 +78,9 @@ SET(BBTK_PACKAGE_COMPILE_ALL_XML ON)
 #===========================================================================
 # 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 !!
@@ -80,9 +90,9 @@ SET(BBTK_PACKAGE_INCLUDE_ALL_BBS_BOXES ON)
 #===========================================================================
 # 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 !!
@@ -90,21 +100,34 @@ SET(BBTK_PACKAGE_INCLUDE_ALL_BBS_APPLI ON)
 #===========================================================================
 
 #===========================================================================
-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