2 #---------------------------------------------------------------------------
3 # If not a core package must include necessary cmake scripts
4 IF(NOT BBTK_CORE_PACKAGE)
6 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackagePaths.cmake)
7 INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
8 # INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
9 INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
10 #-------------------------------------------------------------------------
11 # Configure bbtk_config_build.xml.in for bbi to find the bbs
12 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
13 #-------------------------------------------------------------------------
15 ENDIF(NOT BBTK_CORE_PACKAGE)
16 #---------------------------------------------------------------------------
18 #----------------------------------------------------------------------------
19 # USER DEFINED ADDITIONAL INCLUDE DIRS
20 INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS})
21 #----------------------------------------------------------------------------
24 #-----------------------------------------------------------------------------
25 SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
26 #-----------------------------------------------------------------------------
28 #-----------------------------------------------------------------------------
29 # DOES THE USER WANT TO BUILD THE PACKAGE ?
30 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}
31 "Build the bbtk package ${BBTK_PACKAGE_NAME} ?" OFF)
32 IF(NOT ${BBTK_PACKAGE_NAME}_EXCLUDE_FROM_BUILD_ALL)
33 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
34 ENDIF(NOT ${BBTK_PACKAGE_NAME}_EXCLUDE_FROM_BUILD_ALL)
35 #-----------------------------------------------------------------------------
37 #-----------------------------------------------------------------------------
38 # Package dependencies
39 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
40 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
41 ${BBTK_PACKAGE_NAME}_IN_DEPS
42 "${BBTK_PACKAGES_DEPS}")
44 #-----------------------------------------------------------------------------
45 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
47 #-----------------------------------------------------------------------------
48 # IF THE USER HAS CHOSEN TO BUILD THE PACKAGE
49 IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
50 #---------------------------------------------------------------------------
53 #----------------------------------------------------------------------------
54 # VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in
55 SET(BBTK_PACKAGE_AUTHOR "${${BBTK_PACKAGE_NAME}_AUTHOR}")
56 SET(BBTK_PACKAGE_DESCRIPTION "${${BBTK_PACKAGE_NAME}_DESCRIPTION}")
57 SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION})
58 SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION})
59 SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION})
60 SET(BBTK_PACKAGE_VERSION
61 "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"")
62 #----------------------------------------------------------------------------
65 #---------------------------------------------------------------------------
66 # If package deps not in global deps : add them
67 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
68 SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
69 CACHE INTERNAL "bbtk packages dependencies" FORCE)
70 # MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
71 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
72 #---------------------------------------------------------------------------
74 #---------------------------------------------------------------------------
75 # Package dependencies
76 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
77 SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
78 SET(${BBTK_PACKAGE_NAME}_LIBS
79 ${${BBTK_PACKAGE_NAME}_LIBS}
82 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
84 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
85 SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
86 SET(${BBTK_PACKAGE_NAME}_LIBS
87 ${${BBTK_PACKAGE_NAME}_LIBS}
90 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
92 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
93 SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE)
94 SET(${BBTK_PACKAGE_NAME}_LIBS
95 ${${BBTK_PACKAGE_NAME}_LIBS}
96 ${BBTK_GDCM_LIBRARIES}
98 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
100 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
101 SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
102 SET(${BBTK_PACKAGE_NAME}_LIBS
103 ${${BBTK_PACKAGE_NAME}_LIBS}
104 ${BBTK_GSMIS_LIBRARIES}
106 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
108 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
109 IF(BBTK_CORE_PACKAGE)
110 SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
111 MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
112 # bbtk already links against wx ...
114 SET(${BBTK_PACKAGE_NAME}_LIBS
115 ${${BBTK_PACKAGE_NAME}_LIBS}
116 ${BBTK_WXWIDGETS_LIBRARIES}
119 ELSE(BBTK_CORE_PACKAGE)
120 # If linking against a non-wx bbtk : problem
121 IF(NOT BBTK_BUILT_WITH_WX)
122 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.")
123 ELSE(NOT BBTK_BUILT_WITH_WX)
124 SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
125 # bbtk already links against wx ...
127 SET(${BBTK_PACKAGE_NAME}_LIBS
128 ${${BBTK_PACKAGE_NAME}_LIBS}
129 ${BBTK_WXWIDGETS_LIBRARIES}
132 ENDIF(NOT BBTK_BUILT_WITH_WX)
133 ENDIF(BBTK_CORE_PACKAGE)
134 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
137 #---------------------------------------------------------------------------
141 #---------------------------------------------------------------------------
142 # Recurse into subdirs
147 #---------------------------------------------------------------------------
149 #---------------------------------------------------------------------------
150 ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
151 #-------------------------------------------------------------------------
153 #-----------------------------------------------------------------------
154 # If package deps in global deps : reset global deps
155 IF(${BBTK_PACKAGE_NAME}_IN_DEPS)
156 SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL
157 "bbtk packages dependencies" FORCE)
158 # STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};"
160 # ${BBTK_PACKAGES_DEPS})
162 # SET(BBTK_PACKAGES_DEPS ${TEMP}
163 # CACHE INTERNAL "bbtk packages dependencies" FORCE)
164 ENDIF(${BBTK_PACKAGE_NAME}_IN_DEPS)
165 #-----------------------------------------------------------------------
167 #-----------------------------------------------------------------------
168 # Remove the package include scripts to avoid loading it by include *
169 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs)
170 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
171 #-----------------------------------------------------------------------
174 #---------------------------------------------------------------------------
175 ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
176 #-----------------------------------------------------------------------------
178 #-----------------------------------------------------------------------------