1 # ==================================
3 # ==================================
5 # This file is dupplicated as BBTKConfigurePackage2.cmake
7 # Only ONE commented out line, in BBTKConfigurePackage2.cmake differs
9 # In case of modification, mind to modify BBTKConfigurePackage2.cmake as well!
14 MESSAGE(STATUS "=======================================")
15 MESSAGE(STATUS "CONFIGURING BBTK PACKAGE ${BBTK_PACKAGE_NAME}")
17 #---------------------------------------------------------------------------
18 SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
19 #---------------------------------------------------------------------------
21 #---------------------------------------------------------------------------
22 IF(NOT BBTK_CORE_PACKAGE)
23 #---------------------------------------------------------------------------
27 MARK_AS_ADVANCED(BBTK_DIR)
28 #-------------------------------------------------------------------------
29 # If not a core package must include necessary cmake scripts
30 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackagePaths.cmake)
31 INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
32 # INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
33 INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
34 #-------------------------------------------------------------------------
35 # Configure bbtk_config_build.xml.in for bbi to find the bbs
36 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
37 #-------------------------------------------------------------------------
39 # FOR THE MOMENT ONLY ONE BBTK PACKAGE PER PROJECT ALLOWED!!!
41 SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
42 # ${CMAKE_CURRENT_BINARY_DIR})
43 #-------------------------------------------------------------------------
44 #---------------------------------------------------------------------------
45 # CREATES THE bbtkPackage TEXT FILE
47 ${BBTK_CMAKE_DIR}/bbtkPackage.in
48 ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage
52 INSTALL ( FILES ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage
55 #---------------------------------------------------------------------------
56 ELSE(NOT BBTK_CORE_PACKAGE)
57 SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
58 ENDIF(NOT BBTK_CORE_PACKAGE)
59 #---------------------------------------------------------------------------
65 #----------------------------------------------------------------------------
66 # USER DEFINED ADDITIONAL INCLUDE DIRS
67 INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS})
68 #----------------------------------------------------------------------------
71 #---------------------------------------------------------------------------
72 # Package dependencies
73 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
74 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
75 ${BBTK_PACKAGE_NAME}_IN_DEPS
76 "${BBTK_PACKAGES_DEPS}")
77 #---------------------------------------------------------------------------
78 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
82 #----------------------------------------------------------------------------
83 # VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in
84 SET(BBTK_PACKAGE_AUTHOR "${${BBTK_PACKAGE_NAME}_AUTHOR}")
85 SET(BBTK_PACKAGE_DESCRIPTION "${${BBTK_PACKAGE_NAME}_DESCRIPTION}")
86 SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION})
87 SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION})
88 SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION})
89 SET(BBTK_PACKAGE_VERSION
90 "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"")
91 #----------------------------------------------------------------------------
94 #---------------------------------------------------------------------------
95 # If package deps not in global deps : add them
96 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
97 SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
98 CACHE INTERNAL "bbtk packages dependencies" FORCE)
99 # MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
100 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
101 #---------------------------------------------------------------------------
103 #---------------------------------------------------------------------------
104 # Package dependencies
105 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
106 SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
107 SET(${BBTK_PACKAGE_NAME}_LIBS
108 ${${BBTK_PACKAGE_NAME}_LIBS}
111 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
113 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
114 SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
115 SET(${BBTK_PACKAGE_NAME}_LIBS
116 ${${BBTK_PACKAGE_NAME}_LIBS}
119 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
121 IF(${BBTK_PACKAGE_NAME}_USE_QT)
122 SET(USE_QT4 ON CACHE BOOL "Use QT" FORCE)
123 SET(${BBTK_PACKAGE_NAME}_LIBS
124 ${${BBTK_PACKAGE_NAME}_LIBS}
127 ENDIF(${BBTK_PACKAGE_NAME}_USE_QT)
131 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
132 SET(USE_GDCM ON CACHE BOOL "Use GDCM" )
133 SET(USE_GDCM2 OFF CACHE BOOL "Use GDCM2" )
134 SET(USE_GDCM_VTK ON CACHE BOOL "Use GDCM_VTK" FORCE)
135 SET(${BBTK_PACKAGE_NAME}_LIBS
136 ${${BBTK_PACKAGE_NAME}_LIBS}
141 message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
144 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
148 IF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
149 SET(USE_GDCM2 ON CACHE BOOL "Use GDCM2" FORCE)
150 SET(USE_GDCM2_VTK ON CACHE BOOL "Use GDCM2_VTK" FORCE)
151 SET(${BBTK_PACKAGE_NAME}_LIBS
152 ${${BBTK_PACKAGE_NAME}_LIBS}
157 message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
160 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
164 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
165 SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
166 SET(${BBTK_PACKAGE_NAME}_LIBS
167 ${${BBTK_PACKAGE_NAME}_LIBS}
170 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
172 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
173 IF(BBTK_CORE_PACKAGE)
174 SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
175 MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
176 # bbtk already links against wx ...
178 SET(${BBTK_PACKAGE_NAME}_LIBS
179 ${${BBTK_PACKAGE_NAME}_LIBS}
180 ${WXWIDGETS_LIBRARIES}
183 ELSE(BBTK_CORE_PACKAGE)
184 # If linking against a non-wx bbtk : problem
185 IF(NOT BBTK_BUILT_WITH_WX)
186 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.")
187 ELSE(NOT BBTK_BUILT_WITH_WX)
188 SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
189 # bbtk already links against wx ...
191 SET(${BBTK_PACKAGE_NAME}_LIBS
192 ${${BBTK_PACKAGE_NAME}_LIBS}
193 ${WXWIDGETS_LIBRARIES}
196 ENDIF(NOT BBTK_BUILT_WITH_WX)
197 ENDIF(BBTK_CORE_PACKAGE)
198 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
201 #---------------------------------------------------------------------------
204 MESSAGE(STATUS "=======================================")
205 MESSAGE(STATUS "${BBTK_PACKAGE_NAME} link libraries:")
206 MESSAGE(STATUS "${${BBTK_PACKAGE_NAME}_LIBS}")
207 MESSAGE(STATUS "=======================================")
210 #---------------------------------------------------------------------------
211 # Recurse into ADD_SUBDIRECTORY
212 ADD_SUBDIRECTORY(src)
213 ADD_SUBDIRECTORY(doc)
214 ADD_SUBDIRECTORY(bbs)
215 ADD_SUBDIRECTORY(data)
216 #---------------------------------------------------------------------------
218 MESSAGE(STATUS "=======================================")
221 #-----------------------------------------------------------------------------
223 #-----------------------------------------------------------------------------