+
+#---------------------------------------------------------------------------
+# 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)
+
+
+#---------------------------------------------------------------------------
+
+MESSAGE(STATUS "")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "${BBTK_PACKAGE_NAME} link libraries:")
+MESSAGE(STATUS "${${BBTK_PACKAGE_NAME}_LIBS}")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
+
+#---------------------------------------------------------------------------
+# Recurse into ADD_SUBDIRECTORY
+ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(doc)
+ADD_SUBDIRECTORY(bbs)
+ADD_SUBDIRECTORY(data)
+#---------------------------------------------------------------------------
+
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
+