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 #---------------------------------------------------------------------------
16 #-----------------------------------------------------------------------------
17 # DOES THE USER WANT TO BUILD THE PACKAGE ?
18 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME}
19 "Build the bbtk package ${BBTK_PACKAGE_NAME} ?" OFF)
20 SWITCH_ON_IF_BUILD_ALL(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
21 #-----------------------------------------------------------------------------
23 #-----------------------------------------------------------------------------
24 # Package dependencies
25 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
26 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}"
27 ${BBTK_PACKAGE_NAME}_IN_DEPS
28 "${BBTK_PACKAGES_DEPS}")
30 #-----------------------------------------------------------------------------
31 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
33 #-----------------------------------------------------------------------------
34 # IF THE USER HAS CHOSEN TO BUILD THE PACKAGE
35 IF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
36 #---------------------------------------------------------------------------
38 #---------------------------------------------------------------------------
39 # If package deps not in global deps : add them
40 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
41 SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
42 CACHE INTERNAL "bbtk packages dependencies" FORCE)
43 MESSAGE(STATUS "deps=${BBTK_PACKAGES_DEPS}")
44 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
45 #---------------------------------------------------------------------------
47 #---------------------------------------------------------------------------
48 # Package dependencies
49 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
50 SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
55 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
57 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
58 SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
63 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
65 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
66 SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE)
69 ${BBTK_GDCM_LIBRARIES}
71 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
73 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
74 SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
77 ${BBTK_GSMIS_LIBRARIES}
79 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
81 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
83 SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
84 MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
85 # bbtk already links against wx ...
86 # SET(BBTK_PACKAGE_LIBS
87 # ${BBTK_PACKAGE_LIBS}
88 # ${BBTK_WXWIDGETS_LIBRARIES}
90 ELSE(BBTK_CORE_PACKAGE)
91 # If linking against a non-wx bbtk : problem
92 IF(NOT BBTK_USE_WXWIDGETS)
93 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.")
94 ELSE(NOT BBTK_USE_WXWIDGETS)
95 SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
96 ENDIF(NOT BBTK_USE_WXWIDGETS)
97 ENDIF(BBTK_CORE_PACKAGE)
98 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
101 #---------------------------------------------------------------------------
103 #----------------------------------------------------------------------------
104 # DEFINES ${PACKAGE_NAME}_AUTHOR
105 # ADD_DEFINITIONS( -D${PACKAGE_NAME}_AUTHOR="${PACKAGE_AUTHOR}")
106 #----------------------------------------------------------------------------
107 #----------------------------------------------------------------------------
108 # DEFINES ${PACKAGE_NAME}_DESCRIPTION
109 # ADD_DEFINITIONS( -D${PACKAGE_NAME}_DESCRIPTION="${PACKAGE_DESCRIPTION}")
110 #----------------------------------------------------------------------------
111 #----------------------------------------------------------------------------
112 # DEFINES ${BBTK_PACKAGE_NAME}_VERSION
113 SET(BBTK_PACKAGE_VERSION
114 "${BBTK_PACKAGE_MAJOR_VERSION}.${BBTK_PACKAGE_MINOR_VERSION}.${BBTK_PACKAGE_BUILD_VERSION}")
115 #ADD_DEFINITIONS( -D${BBTK_PACKAGE_NAME}_VERSION=${BBTK_PACKAGE_VERSION})
116 #----------------------------------------------------------------------------
119 #---------------------------------------------------------------------------
120 # Recurse into subdirs
124 #---------------------------------------------------------------------------
126 #---------------------------------------------------------------------------
127 ELSE(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
128 #-------------------------------------------------------------------------
130 #-----------------------------------------------------------------------
131 # If package deps in global deps : remove them
132 IF(${BBTK_PACKAGE_NAME}_IN_DEPS)
133 STRING(REPLACE "${${BBTK_PACKAGE_NAME}_DEPS};"
135 ${BBTK_PACKAGES_DEPS})
137 SET(BBTK_PACKAGES_DEPS ${TEMP}
138 CACHE INTERNAL "bbtk packages dependencies" FORCE)
139 ENDIF(${BBTK_PACKAGE_NAME}_IN_DEPS)
140 #-----------------------------------------------------------------------
142 #-----------------------------------------------------------------------
143 # Remove the package include scripts to avoid loading it by include *
144 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}.bbs)
145 FILE(REMOVE ${BBTK_BBS_BUILD_PATH}/${BBTK_PACKAGE_NAME}-appli.bbs)
146 #-----------------------------------------------------------------------
149 #---------------------------------------------------------------------------
150 ENDIF(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME})
151 #-----------------------------------------------------------------------------
153 #-----------------------------------------------------------------------------