3 MACRO(CREA_FIND_AND_USE_LIBRARIES)
5 #-----------------------------------------------------------------------------
11 MESSAGE ( STATUS "Looking for VTK... found")
12 MESSAGE ( STATUS "* Dir = ${VTK_DIR}")
13 MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
14 INCLUDE(${VTK_USE_FILE})
15 CREA_DEFINE( USE_VTK )
17 vtkImaging vtkGraphics vtkRendering vtkFiltering vtkCommon vtkWidgets
19 # LG : removed vtkIO because conflict with itktiff lib in ITKIO
22 SET(VTK_LIBRARIES ${VTK_LIBRARIES} vtkIO)
24 MARK_AS_ADVANCED(VTK_DIR)
26 message(FATAL_ERROR "VTK_DIR not found")
29 #-----------------------------------------------------------------------------
32 #-----------------------------------------------------------------------------
38 MESSAGE ( STATUS "Looking for ITK... found")
39 MESSAGE ( STATUS "* Dir = ${ITK_DIR}")
40 MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
41 INCLUDE(${ITK_USE_FILE})
42 CREA_DEFINE( USE_ITK )
44 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
46 MARK_AS_ADVANCED(ITK_DIR)
47 # images compilation option
48 OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON)
49 OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON)
50 OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON)
51 OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON)
52 OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON)
53 OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON)
54 OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON)
55 OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON)
56 OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON)
57 OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON)
58 OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON)
60 IF ( itk_IMAGE_DIM_2 )
61 CREA_DEFINE( BBTK_ITK_IMAGE_DIM_2 )
62 ENDIF ( itk_IMAGE_DIM_2 )
64 IF ( itk_IMAGE_DIM_3 )
65 CREA_DEFINE( BBTK_ITK_IMAGE_DIM_3 )
66 ENDIF ( itk_IMAGE_DIM_3 )
68 IF ( itk_IMAGE_DIM_4 )
69 CREA_DEFINE( BBTK_ITK_IMAGE_DIM_4 )
70 ENDIF ( itk_IMAGE_DIM_4 )
72 IF ( itk_IMAGE_TYPE_CHAR )
73 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int8_t )
74 ENDIF ( itk_IMAGE_TYPE_CHAR )
76 IF ( itk_IMAGE_TYPE_UCHAR )
77 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint8_t )
78 ENDIF ( itk_IMAGE_TYPE_UCHAR )
80 IF ( itk_IMAGE_TYPE_SHORT )
81 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int16_t )
82 ENDIF ( itk_IMAGE_TYPE_SHORT )
84 IF ( itk_IMAGE_TYPE_USHORT )
85 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint16_t )
86 ENDIF ( itk_IMAGE_TYPE_USHORT )
88 IF ( itk_IMAGE_TYPE_INT )
89 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_int32_t )
90 ENDIF ( itk_IMAGE_TYPE_INT )
92 IF ( itk_IMAGE_TYPE_UINT )
93 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_uint32_t )
94 ENDIF ( itk_IMAGE_TYPE_UINT )
96 IF ( itk_IMAGE_TYPE_FLOAT )
97 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_float )
98 ENDIF ( itk_IMAGE_TYPE_FLOAT )
100 IF ( itk_IMAGE_TYPE_DOUBLE )
101 CREA_DEFINE( BBTK_ITK_IMAGE_TYPE_double )
102 ENDIF ( itk_IMAGE_TYPE_DOUBLE )
104 message(FATAL_ERROR "ITK_DIR not found")
107 #-----------------------------------------------------------------------------
110 #-----------------------------------------------------------------------------
116 INCLUDE(${GDCM_USE_FILE})
117 CREA_DEFINE( USE_GDCM )
119 MESSAGE ( STATUS "Looking for GDCM... found")
120 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
121 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
122 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
124 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
125 # embedded gdcm in ITK and will result in hard seg faults !
127 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
128 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
129 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
132 MARK_AS_ADVANCED(GDCM_DIR)
138 # TODO : Test that GDCM was built with option "vtkgdcm"
151 #-----------------------------------------------------------------------------
153 #-----------------------------------------------------------------------------
159 INCLUDE(${GDCM_USE_FILE})
161 IF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
162 MESSAGE(FATAL_ERROR "gdcm version 2 needed. found ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}. Set GDCM_DIR to the gdcm version 2 directory")
163 ENDIF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
165 CREA_DEFINE( USE_GDCM2 )
166 CREA_DEFINE_WITH_VAL( GDCM_NAME_SPACE gdcm )
168 MESSAGE ( STATUS "Looking for GDCM2... found")
169 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
170 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
171 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
173 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
174 # embedded gdcm in ITK and will result in hard seg faults !
176 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
177 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
178 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
181 MARK_AS_ADVANCED(GDCM_DIR)
187 # TODO : Test that GDCM was built with option "vtkgdcm"
200 #-----------------------------------------------------------------------------
202 #-----------------------------------------------------------------------------
204 INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_wxWidgets.cmake)
205 CREA_FIND_WXWIDGETS()
208 #-----------------------------------------------------------------------------
212 #-----------------------------------------------------------------------------
214 FIND_PACKAGE(Doxygen REQUIRED)
215 # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
219 # MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
222 #-----------------------------------------------------------------------------
225 #-----------------------------------------------------------------------------
227 FIND_PACKAGE(LATEX REQUIRED)
228 MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
230 #-----------------------------------------------------------------------------
232 #-----------------------------------------------------------------------------
234 FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux)
235 IF (NOT LATEX_tth_CONVERTER)
236 MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
237 ELSE (NOT LATEX_tth_CONVERTER)
238 MESSAGE(STATUS "Looking for tth... - found ${LATEX_tth_CONVERTER}")
239 ENDIF(NOT LATEX_tth_CONVERTER)
240 MARK_AS_ADVANCED(LATEX_tth_CONVERTER)
242 #-----------------------------------------------------------------------------
244 #-----------------------------------------------------------------------------
246 FIND_PACKAGE(Boost REQUIRED)
248 MESSAGE(STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
249 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
250 LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
251 CREA_DEFINE( USE_BOOST )
258 MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
260 MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
263 #-----------------------------------------------------------------------------
266 ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)