3 #-----------------------------------------------------------------------------
6 FIND_PACKAGE(KWWidgets)
9 MESSAGE ( STATUS "=======================================")
10 MESSAGE ( STATUS "Looking for KWWidgets... found")
11 MESSAGE ( STATUS "* Dir = ${KWWidgets_DIR}")
12 MESSAGE ( STATUS "* Version = ${KWWidgets_MAJOR_VERSION}.${KWWidgets_MINOR_VERSION}.${KWWidgets_BUILD_VERSION}")
13 INCLUDE(${KWWidgets_USE_FILE})
14 ADD_DEF( USE_KWWIDGETS )
15 SET(BBTK_KWWIDGETS_LIBRARIES
16 ${KWWidgets_LIBRARIES}
18 MARK_AS_ADVANCED(KWWidgets_DIR)
20 message(FATAL_ERROR "KWWidgets_DIR not found")
21 ENDIF(KWWidgets_FOUND)
23 #-----------------------------------------------------------------------------
25 #-----------------------------------------------------------------------------
26 #OPTION(USE_VTK "Build VTK-based black boxes" OFF)
32 MESSAGE ( STATUS "=======================================")
33 MESSAGE ( STATUS "Looking for VTK... found")
34 MESSAGE ( STATUS "* Dir = ${VTK_DIR}")
35 MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
36 INCLUDE(${VTK_USE_FILE})
38 SET(BBTK_VTK_LIBRARIES
40 vtkFiltering # vtkImageData
41 vtkRendering # vtkProp3D
42 vtkWidgets # vtkImagePlaneWidget
43 vtkIO # vtkMetaImageReader/Writer
44 vtkImaging # filters such as vtkImageAnisotropicDiffusion3D
45 vtkGraphics # vtkContourFilter, sources
46 vtkVolumeRendering # Mappers
49 MARK_AS_ADVANCED(VTK_DIR)
51 message(FATAL_ERROR "VTK_DIR not found")
54 #-----------------------------------------------------------------------------
57 #-----------------------------------------------------------------------------
58 #OPTION(USE_ITK "Build ITK-based black boxes" OFF)
64 MESSAGE ( STATUS "=======================================")
65 MESSAGE ( STATUS "Looking for ITK... found")
66 MESSAGE ( STATUS "* Dir = ${ITK_DIR}")
67 MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
68 INCLUDE(${ITK_USE_FILE})
70 SET(BBTK_ITK_LIBRARIES
71 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
73 MARK_AS_ADVANCED(ITK_DIR)
74 # images compilation option
75 OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON)
76 OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON)
77 OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON)
78 OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON)
79 OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON)
80 OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON)
81 OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON)
82 OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON)
83 OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON)
84 OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON)
85 OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON)
87 IF ( itk_IMAGE_DIM_2 )
88 ADD_DEF( BBTK_ITK_IMAGE_DIM_2 )
89 ENDIF ( itk_IMAGE_DIM_2 )
91 IF ( itk_IMAGE_DIM_3 )
92 ADD_DEF( BBTK_ITK_IMAGE_DIM_3 )
93 ENDIF ( itk_IMAGE_DIM_3 )
95 IF ( itk_IMAGE_DIM_4 )
96 ADD_DEF( BBTK_ITK_IMAGE_DIM_4 )
97 ENDIF ( itk_IMAGE_DIM_4 )
99 IF ( itk_IMAGE_TYPE_CHAR )
100 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int8_t )
101 ENDIF ( itk_IMAGE_TYPE_CHAR )
103 IF ( itk_IMAGE_TYPE_UCHAR )
104 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint8_t )
105 ENDIF ( itk_IMAGE_TYPE_UCHAR )
107 IF ( itk_IMAGE_TYPE_SHORT )
108 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int16_t )
109 ENDIF ( itk_IMAGE_TYPE_SHORT )
111 IF ( itk_IMAGE_TYPE_USHORT )
112 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint16_t )
113 ENDIF ( itk_IMAGE_TYPE_USHORT )
115 IF ( itk_IMAGE_TYPE_INT )
116 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int32_t )
117 ENDIF ( itk_IMAGE_TYPE_INT )
119 IF ( itk_IMAGE_TYPE_UINT )
120 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint32_t )
121 ENDIF ( itk_IMAGE_TYPE_UINT )
123 IF ( itk_IMAGE_TYPE_FLOAT )
124 ADD_DEF( BBTK_ITK_IMAGE_TYPE_float )
125 ENDIF ( itk_IMAGE_TYPE_FLOAT )
127 IF ( itk_IMAGE_TYPE_DOUBLE )
128 ADD_DEF( BBTK_ITK_IMAGE_TYPE_double )
129 ENDIF ( itk_IMAGE_TYPE_DOUBLE )
131 message(FATAL_ERROR "ITK_DIR not found")
134 #-----------------------------------------------------------------------------
137 #-----------------------------------------------------------------------------
138 #OPTION(USE_GDCM "Build GDCM-based black boxes" OFF)
144 INCLUDE(${GDCM_USE_FILE})
145 ADD_DEF( _USE_GDCM_ )
146 MESSAGE ( STATUS "=======================================")
147 MESSAGE ( STATUS "Looking for GDCM... found")
148 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
149 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
150 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
152 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
153 # embedded gdcm in ITK and will result in hard seg faults !
154 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
155 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
156 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
158 MARK_AS_ADVANCED(GDCM_DIR)
160 SET(BBTK_GDCM_LIBRARIES
161 # TO DO : USE GDCM LINK LIBRARIES !!!
162 # IF gdcm WAS NOT COMPILE WITH VTK THE ABOVE FORCED LINK WITH vtkgdcm DOES NOT WORK
164 #gdcm gdcmjpeg8 gdcmjpeg12 gdcmjpeg16
169 # SET(BBTK_GDCM_LIBRARIES
170 # ${BBTK_GDCM_LIBRARIES}
178 #-----------------------------------------------------------------------------
180 #-----------------------------------------------------------------------------
182 MESSAGE ( STATUS "=======================================")
183 INCLUDE(${BBTK_CMAKE_DIR}/BBTKWxWidgets.cmake)
184 BBTK_FIND_WXWIDGETS()
187 #-----------------------------------------------------------------------------
191 #-----------------------------------------------------------------------------
193 MESSAGE ( STATUS "=======================================")
194 FIND_PACKAGE(Doxygen REQUIRED)
195 # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
199 MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
202 #-----------------------------------------------------------------------------
205 #-----------------------------------------------------------------------------
207 FIND_PACKAGE(LATEX REQUIRED)
208 MESSAGE ( STATUS "=======================================")
209 MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
211 #-----------------------------------------------------------------------------
213 #-----------------------------------------------------------------------------
215 FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux)
216 IF (NOT LATEX_tth_CONVERTER)
217 MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
218 ELSE (NOT LATEX_tth_CONVERTER)
219 MESSAGE ( STATUS "=======================================")
220 MESSAGE(STATUS "Looking for tth... - found ${LATEX_tth_CONVERTER}")
221 ENDIF(NOT LATEX_tth_CONVERTER)
222 MARK_AS_ADVANCED(LATEX_tth_CONVERTER)
224 #-----------------------------------------------------------------------------
226 #-----------------------------------------------------------------------------
228 IF(BBTK_USE_SHIPPED_BOOST)
229 MESSAGE ( STATUS "=======================================")
230 MESSAGE(STATUS "bbtk uses shipped boost C++ library (${BBTK_SHIPPED_BOOST})")
232 ${PROJECT_SOURCE_DIR}/kernel/src/ThirdParty/${BBTK_SHIPPED_BOOST})
234 # TO DO : CLEANLY BLOCK auto_link.hpp INCLUSION
235 #ADD_DEF(BOOST_SIGNALS_NO_LIB)
236 SET(BBTK_BOOST_LIBRARIES
240 ELSE(BBTK_USE_SHIPPED_BOOST)
241 FIND_PACKAGE(Boost REQUIRED)
242 MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
244 MESSAGE ( STATUS "=======================================")
245 MESSAGE(STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
246 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
247 LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
248 SET(BBTK_BOOST_LIBRARIES
252 MESSAGE(FATAL_ERROR "boost C++ library not found - either set Boost_INCLUDE_DIR or set BBTK_USE_SHIPPED_BOOST to ON to use shipped ${BBTK_SHIPPED_BOOST}")
254 ENDIF(BBTK_USE_SHIPPED_BOOST)
256 #-----------------------------------------------------------------------------