]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKConfigurePackage.cmake
0d3953f9b4f893bada868d97c183ee89f767e37d
[bbtk.git] / kernel / cmake / BBTKConfigurePackage.cmake
1
2
3
4 #---------------------------------------------------------------------------
5 IF(NOT BBTK_CORE_PACKAGE)
6   #-------------------------------------------------------------------------
7   # If not a core package must include necessary cmake scripts
8   INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackagePaths.cmake)
9   INCLUDE(${BBTK_CMAKE_DIR}/BBTKBuildAllOption.cmake)
10   #  INCLUDE(${BBTK_CMAKE_DIR}/BBTKMacros.cmake)
11   INCLUDE(${BBTK_CMAKE_DIR}/BBTKFindLibraries.cmake)
12   #-------------------------------------------------------------------------
13   # Configure bbtk_config_build.xml.in for bbi to find the bbs
14   INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigureBbtkConfigXmlForBuildTree.cmake)
15   #------------------------------------------------------------------------- 
16   #
17 ENDIF(NOT BBTK_CORE_PACKAGE)
18 #---------------------------------------------------------------------------
19
20
21 #---------------------------------------------------------------------------
22 SET(${BBTK_PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
23 #---------------------------------------------------------------------------
24
25 #----------------------------------------------------------------------------
26 # USER DEFINED ADDITIONAL INCLUDE DIRS
27 INCLUDE_DIRECTORIES(${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS})
28 #----------------------------------------------------------------------------
29
30
31 #---------------------------------------------------------------------------
32 # Package dependencies
33 SET(${BBTK_PACKAGE_NAME}_DEPS bb${BBTK_PACKAGE_NAME})
34 STRING(REGEX MATCH "${${BBTK_PACKAGE_NAME}_DEPS}" 
35   ${BBTK_PACKAGE_NAME}_IN_DEPS
36   "${BBTK_PACKAGES_DEPS}")
37 #---------------------------------------------------------------------------
38 #SET(BBTK_PACKAGES_DEPS "" CACHE INTERNAL "bbtk packages dependencies" FORCE)
39
40
41
42 #----------------------------------------------------------------------------
43 # VARS CONFIGURED IN bbPackage.h AND IN doc/bbdoc/header.html.in
44 SET(BBTK_PACKAGE_AUTHOR        "${${BBTK_PACKAGE_NAME}_AUTHOR}")
45 SET(BBTK_PACKAGE_DESCRIPTION   "${${BBTK_PACKAGE_NAME}_DESCRIPTION}")
46 SET(BBTK_PACKAGE_MAJOR_VERSION ${${BBTK_PACKAGE_NAME}_MAJOR_VERSION})
47 SET(BBTK_PACKAGE_MINOR_VERSION ${${BBTK_PACKAGE_NAME}_MINOR_VERSION})
48 SET(BBTK_PACKAGE_BUILD_VERSION ${${BBTK_PACKAGE_NAME}_BUILD_VERSION})
49 SET(BBTK_PACKAGE_VERSION 
50   "\"${${BBTK_PACKAGE_NAME}_MAJOR_VERSION}.${${BBTK_PACKAGE_NAME}_MINOR_VERSION}.${${BBTK_PACKAGE_NAME}_BUILD_VERSION}\"")
51 #----------------------------------------------------------------------------
52
53
54 #---------------------------------------------------------------------------
55 # If package deps not in global deps : add them
56 IF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
57   SET(BBTK_PACKAGES_DEPS "${${BBTK_PACKAGE_NAME}_DEPS};${BBTK_PACKAGES_DEPS}"
58     CACHE INTERNAL "bbtk packages dependencies" FORCE)
59   #   MESSAGE(STATUS "Packages=${BBTK_PACKAGES_DEPS}")
60 ENDIF(NOT ${BBTK_PACKAGE_NAME}_IN_DEPS)
61 #---------------------------------------------------------------------------
62
63 #---------------------------------------------------------------------------
64 # Package dependencies
65 IF(${BBTK_PACKAGE_NAME}_USE_VTK)
66   SET(USE_VTK ON CACHE BOOL "Use VTK" FORCE)
67   SET(${BBTK_PACKAGE_NAME}_LIBS
68     ${${BBTK_PACKAGE_NAME}_LIBS}
69     ${BBTK_VTK_LIBRARIES}
70     )
71 ENDIF(${BBTK_PACKAGE_NAME}_USE_VTK)
72
73 IF(${BBTK_PACKAGE_NAME}_USE_ITK)
74   SET(USE_ITK ON CACHE BOOL "Use ITK" FORCE)
75   SET(${BBTK_PACKAGE_NAME}_LIBS
76     ${${BBTK_PACKAGE_NAME}_LIBS}
77     ${BBTK_ITK_LIBRARIES}
78     )
79 ENDIF(${BBTK_PACKAGE_NAME}_USE_ITK)
80
81 IF(${BBTK_PACKAGE_NAME}_USE_GDCM)
82   SET(USE_GDCM ON CACHE BOOL "Use GDCM" FORCE)
83   SET(${BBTK_PACKAGE_NAME}_LIBS
84     ${${BBTK_PACKAGE_NAME}_LIBS}
85     ${BBTK_GDCM_LIBRARIES}
86     )
87 ENDIF(${BBTK_PACKAGE_NAME}_USE_GDCM)
88
89 IF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
90   SET(USE_GSMIS ON CACHE BOOL "Use GSMIS" FORCE)
91   SET(${BBTK_PACKAGE_NAME}_LIBS
92     ${${BBTK_PACKAGE_NAME}_LIBS}
93     ${BBTK_GSMIS_LIBRARIES}
94     )
95 ENDIF(${BBTK_PACKAGE_NAME}_USE_GSMIS)
96
97 IF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
98   IF(BBTK_CORE_PACKAGE)
99     SET(BBTK_USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
100     MESSAGE(STATUS "BBTK_USE_WXWIDGETS forced to ON by the compilation of the package ${BBTK_PACKAGE_NAME}")
101     # bbtk already links against wx ...
102     IF(WIN32)
103       SET(${BBTK_PACKAGE_NAME}_LIBS
104         ${${BBTK_PACKAGE_NAME}_LIBS}
105         ${BBTK_WXWIDGETS_LIBRARIES}
106         )
107     ENDIF(WIN32)
108   ELSE(BBTK_CORE_PACKAGE)
109     # If linking against a non-wx bbtk : problem
110     IF(NOT BBTK_BUILT_WITH_WX)
111       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.")
112     ELSE(NOT BBTK_BUILT_WITH_WX)
113       SET(USE_WXWIDGETS ON CACHE BOOL "Use wxWidgets" FORCE)
114       # bbtk already links against wx ...
115       IF(WIN32)
116         SET(${BBTK_PACKAGE_NAME}_LIBS
117           ${${BBTK_PACKAGE_NAME}_LIBS}
118           ${BBTK_WXWIDGETS_LIBRARIES}
119           )
120       ENDIF(WIN32)
121     ENDIF(NOT BBTK_BUILT_WITH_WX)
122   ENDIF(BBTK_CORE_PACKAGE)
123 ENDIF(${BBTK_PACKAGE_NAME}_USE_WXWIDGETS)
124
125
126 #---------------------------------------------------------------------------
127
128
129
130 #---------------------------------------------------------------------------
131 # Recurse into subdirs
132 SUBDIRS(src)
133 SUBDIRS(doc)
134 SUBDIRS(bbs)
135 SUBDIRS(data)
136 #---------------------------------------------------------------------------
137
138
139 #-----------------------------------------------------------------------------
140 # EOF
141 #-----------------------------------------------------------------------------
142
143
144
145