1 #---------------------------------------------------------------------------
2 # If not a core package must include necessary cmake scripts
3 IF(NOT BBTK_CORE_PACKAGE)
5 INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
6 INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
7 INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
8 #-------------------------------------------------------------------------
9 # Configure bbtk_config_build.xml.in for bbi to find the bbs
10 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
11 #-------------------------------------------------------------------------
13 ENDIF(NOT BBTK_CORE_PACKAGE)
14 #---------------------------------------------------------------------------
17 SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
19 #-----------------------------------------------------------------------------
20 # DOES THE USER WANT TO BUILD THE PACKAGE ?
21 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}
22 "Build the bbtk package ${BBTK_PACKAGE_NAME} ?" OFF)
23 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
24 #-----------------------------------------------------------------------------
26 #-----------------------------------------------------------------------------
27 # Package dependencies
28 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
29 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
30 ${BBTK_PACKAGE_NAME}_IN_DEPS
31 "${BBTK_PACKAGES_DEPS}")
33 #-----------------------------------------------------------------------------
34 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
36 #-----------------------------------------------------------------------------
37 # IF THE USER HAS CHOSEN TO BUILD THE PACKAGE
38 IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
39 #---------------------------------------------------------------------------
41 #---------------------------------------------------------------------------
42 # If package deps not in global deps : add them
43 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
44 SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
45 CACHE INTERNAL "bbtk packages dependencies" FORCE)
46 MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
47 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
48 #---------------------------------------------------------------------------
50 #---------------------------------------------------------------------------
51 # Package dependencies
52 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
53 SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
58 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
60 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
61 SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
66 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
68 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
69 SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE)
72 ${BBTK_GDCM_LIBRARIES}
74 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
76 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
77 SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
80 ${BBTK_GSMIS_LIBRARIES}
82 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
84 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
86 SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
87 MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
88 # bbtk already links against wx ...
89 # SET(BBTK_PACKAGE_LIBS
90 # ${BBTK_PACKAGE_LIBS}
91 # ${BBTK_WXWIDGETS_LIBRARIES}
93 ELSE(BBTK_CORE_PACKAGE)
94 # If linking against a non-wx bbtk : problem
95 IF(NOT BBTK_USE_WXWIDGETS)
96 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.")
97 ELSE(NOT BBTK_USE_WXWIDGETS)
98 SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
99 ENDIF(NOT BBTK_USE_WXWIDGETS)
100 ENDIF(BBTK_CORE_PACKAGE)
101 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
104 #---------------------------------------------------------------------------
106 #----------------------------------------------------------------------------
107 # DEFINES ${PACKAGE_NAME}_AUTHOR
108 # ADD_DEFINITIONS( -D${PACKAGE_NAME}_AUTHOR="${PACKAGE_AUTHOR}")
109 #----------------------------------------------------------------------------
110 #----------------------------------------------------------------------------
111 # DEFINES ${PACKAGE_NAME}_DESCRIPTION
112 # ADD_DEFINITIONS( -D${PACKAGE_NAME}_DESCRIPTION="${PACKAGE_DESCRIPTION}")
113 #----------------------------------------------------------------------------
114 #----------------------------------------------------------------------------
115 # DEFINES ${BBTK_PACKAGE_NAME}_VERSION
116 SET(BBTK_PACKAGE_VERSION
117 "${BBTK_PACKAGE_MAJOR_VERSION}.${BBTK_PACKAGE_MINOR_VERSION}.${BBTK_PACKAGE_BUILD_VERSION}")
118 #ADD_DEFINITIONS( -D${BBTK_PACKAGE_NAME}_VERSION=${BBTK_PACKAGE_VERSION})
119 #----------------------------------------------------------------------------
122 #---------------------------------------------------------------------------
123 # Recurse into subdirs
127 #---------------------------------------------------------------------------
129 #---------------------------------------------------------------------------
130 ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
131 #-------------------------------------------------------------------------
133 #-----------------------------------------------------------------------
134 # If package deps in global deps : remove them
135 IF(${BBTK_PACKAGE_NAME}_IN_DEPS)
136 STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};"
138 ${BBTK_PACKAGES_DEPS})
140 SET(BBTK_PACKAGES_DEPS ${TEMP}
141 CACHE INTERNAL "bbtk packages dependencies" FORCE)
142 ENDIF(${BBTK_PACKAGE_NAME}_IN_DEPS)
143 #-----------------------------------------------------------------------
145 #-----------------------------------------------------------------------
146 # Remove the package include scripts to avoid loading it by include *
147 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs)
148 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
149 #-----------------------------------------------------------------------
152 #---------------------------------------------------------------------------
153 ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
154 #-----------------------------------------------------------------------------
156 #-----------------------------------------------------------------------------