- #---------------------------------------------------------------------------
- # 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}")
+
+#---------------------------------------------------------------------------
+# 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)
+#---------------------------------------------------------------------------
+
+#---------------------------------------------------------------------------
+# 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)