1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 # This software is governed by the CeCILL-B license under French law and
10 # abiding by the rules of distribution of free software. You can use,
11 # modify and/ or redistribute the software under the terms of the CeCILL-B
12 # license as circulated by CEA, CNRS and INRIA at the following URL
13 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 # or in the file LICENSE.txt.
16 # As a counterpart to the access to the source code and rights to copy,
17 # modify and redistribute granted by the license, users are provided only
18 # with a limited warranty and the software's author, the holder of the
19 # economic rights, and the successive licensors have only limited
22 # The fact that you are presently reading this means that you have had
23 # knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
27 # ==================================
29 # ==================================
31 # This file is dupplicated as BBTKConfigurePackage2.cmake
33 # Only ONE commented out line, in BBTKConfigurePackage2.cmake differs
35 # In case of modification, mind to modify BBTKConfigurePackage2.cmake as well!
40 MESSAGE(STATUS "=======================================")
41 MESSAGE(STATUS "CONFIGURING BBTK PACKAGE ${BBTK_PACKAGE_NAME}")
43 #---------------------------------------------------------------------------
44 SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
45 #---------------------------------------------------------------------------
47 #---------------------------------------------------------------------------
48 IF(NOT BBTK_CORE_PACKAGE)
49 #---------------------------------------------------------------------------
53 MARK_AS_ADVANCED(BBTK_DIR)
54 #-------------------------------------------------------------------------
55 # If not a core package must include necessary cmake scripts
56 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackagePaths.cmake)
57 INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
58 # INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
59 INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
60 #-------------------------------------------------------------------------
61 # Configure bbtk_config_build.xml.in for bbi to find the bbs
62 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
63 #-------------------------------------------------------------------------
65 # FOR THE MOMENT ONLY ONE BBTK PACKAGE PER PROJECT ALLOWED!!!
67 SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
68 # ${CMAKE_CURRENT_BINARY_DIR})
69 #-------------------------------------------------------------------------
70 #---------------------------------------------------------------------------
71 # CREATES THE bbtkPackage TEXT FILE
73 ${BBTK_CMAKE_DIR}/bbtkPackage.in
74 ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage
79 ${BBTK_CMAKE_DIR}/PlugPackage.bat.in
80 ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/PlugPackage.bat
83 INSTALL ( FILES ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/bbtkPackage DESTINATION "." )
84 INSTALL ( FILES ${${BBTK_PACKAGE_NAME}_BINARY_DIR}/PlugPackage.bat DESTINATION "." )
86 #---------------------------------------------------------------------------
87 ELSE(NOT BBTK_CORE_PACKAGE)
88 SET(${BBTK_PACKAGE_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR})
89 ENDIF(NOT BBTK_CORE_PACKAGE)
90 #---------------------------------------------------------------------------
96 #----------------------------------------------------------------------------
97 # USER DEFINED ADDITIONAL INCLUDE DIRS
98 INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS})
99 #----------------------------------------------------------------------------
102 #---------------------------------------------------------------------------
103 # Package dependencies
104 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
105 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
106 ${BBTK_PACKAGE_NAME}_IN_DEPS
107 "${BBTK_PACKAGES_DEPS}")
108 #---------------------------------------------------------------------------
109 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
113 #----------------------------------------------------------------------------
114 # VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in
115 SET(BBTK_PACKAGE_AUTHOR "${${BBTK_PACKAGE_NAME}_AUTHOR}")
116 SET(BBTK_PACKAGE_DESCRIPTION "${${BBTK_PACKAGE_NAME}_DESCRIPTION}")
117 SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION})
118 SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION})
119 SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION})
120 SET(BBTK_PACKAGE_VERSION
121 "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"")
122 #----------------------------------------------------------------------------
125 #---------------------------------------------------------------------------
126 # If package deps not in global deps : add them
127 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
128 SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
129 CACHE INTERNAL "bbtk packages dependencies" FORCE)
130 # MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
131 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
132 #---------------------------------------------------------------------------
134 #---------------------------------------------------------------------------
135 # Package dependencies
136 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
137 SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
138 SET(${BBTK_PACKAGE_NAME}_LIBS
139 ${${BBTK_PACKAGE_NAME}_LIBS}
142 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
144 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
145 SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
146 SET(${BBTK_PACKAGE_NAME}_LIBS
147 ${${BBTK_PACKAGE_NAME}_LIBS}
151 #Need to add additional gdcm libraries provided by system
154 SET(${BBTK_PACKAGE_NAME}_LIBS
155 ${${BBTK_PACKAGE_NAME}_LIBS}
156 vtkgdcm gdcmIOD gdcmMSFF gdcmexpat gdcmCommon gdcmMEXD gdcmDSED gdcmDICT
157 gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 socketxx gdcmopenjpeg gdcmcharls
161 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
163 IF(${BBTK_PACKAGE_NAME}_USE_QT)
164 SET(USE_QT4 ON CACHE BOOL "Use QT" FORCE)
165 SET(${BBTK_PACKAGE_NAME}_LIBS
166 ${${BBTK_PACKAGE_NAME}_LIBS}
169 ENDIF(${BBTK_PACKAGE_NAME}_USE_QT)
173 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
174 SET(USE_GDCM ON CACHE BOOL "Use GDCM" )
175 SET(USE_GDCM2 OFF CACHE BOOL "Use GDCM2" )
176 SET(USE_GDCM_VTK ON CACHE BOOL "Use GDCM_VTK" FORCE)
177 SET(${BBTK_PACKAGE_NAME}_LIBS
178 ${${BBTK_PACKAGE_NAME}_LIBS}
184 message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
187 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
191 IF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
192 SET(USE_GDCM2 ON CACHE BOOL "Use GDCM2" FORCE)
193 SET(USE_GDCM2_VTK ON CACHE BOOL "Use GDCM2_VTK" FORCE)
194 #For some reasons GDCM_LIBRARY is not defined for gdcm2 in windows
196 SET(${BBTK_PACKAGE_NAME}_LIBS
197 ${${BBTK_PACKAGE_NAME}_LIBS}
198 vtkgdcm gdcmIOD gdcmMSFF gdcmexpat gdcmCommon gdcmMEXD gdcmDSED gdcmDICT
199 gdcmjpeg8 gdcmjpeg12 gdcmjpeg16 socketxx gdcmopenjpeg gdcmcharls
202 SET(${BBTK_PACKAGE_NAME}_LIBS
203 ${${BBTK_PACKAGE_NAME}_LIBS}
210 message(FATAL_ERROR "You cannot select both GDCM and GDCM2 (DICOM library readers)")
213 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM2)
217 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
218 SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
219 SET(${BBTK_PACKAGE_NAME}_LIBS
220 ${${BBTK_PACKAGE_NAME}_LIBS}
223 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
225 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
226 IF(BBTK_CORE_PACKAGE)
227 SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
228 MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
229 # bbtk already links against wx ...
231 SET(${BBTK_PACKAGE_NAME}_LIBS
232 ${${BBTK_PACKAGE_NAME}_LIBS}
233 ${WXWIDGETS_LIBRARIES}
236 ELSE(BBTK_CORE_PACKAGE)
237 # If linking against a non-wx bbtk : problem
238 IF(NOT BBTK_BUILT_WITH_WX)
239 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.")
240 ELSE(NOT BBTK_BUILT_WITH_WX)
241 SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
242 # bbtk already links against wx ...
244 SET(${BBTK_PACKAGE_NAME}_LIBS
245 ${${BBTK_PACKAGE_NAME}_LIBS}
246 ${WXWIDGETS_LIBRARIES}
249 ENDIF(NOT BBTK_BUILT_WITH_WX)
250 ENDIF(BBTK_CORE_PACKAGE)
251 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
254 #---------------------------------------------------------------------------
257 MESSAGE(STATUS "=======================================")
258 MESSAGE(STATUS "${BBTK_PACKAGE_NAME} link libraries:")
259 MESSAGE(STATUS "${${BBTK_PACKAGE_NAME}_LIBS}")
260 MESSAGE(STATUS "=======================================")
263 #---------------------------------------------------------------------------
264 # Recurse into ADD_SUBDIRECTORY
265 ADD_SUBDIRECTORY(src)
266 ADD_SUBDIRECTORY(doc)
267 ADD_SUBDIRECTORY(bbs)
268 ADD_SUBDIRECTORY(data)
269 #---------------------------------------------------------------------------
271 MESSAGE(STATUS "=======================================")
274 #-----------------------------------------------------------------------------
276 #-----------------------------------------------------------------------------