3 #-----------------------------------------------------------------------------
4 #OPTION(USE_VTK "Build VTK-based black boxes" OFF)
10 MESSAGE ( STATUS "Looking for VTK... found")
11 MESSAGE ( STATUS "* Dir = ${VTK_DIR}")
12 MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
13 INCLUDE(${VTK_USE_FILE})
15 SET(BBTK_VTK_LIBRARIES
17 vtkFiltering # vtkImageData
18 vtkRendering # vtkProp3D
19 vtkWidgets # vtkImagePlaneWidget
20 vtkIO # vtkMetaImageReader/Writer
21 vtkImaging # filters such as vtkImageAnisotropicDiffusion3D
22 vtkGraphics # vtkContourFilter, sources
23 vtkVolumeRendering # Mappers
26 MARK_AS_ADVANCED(VTK_DIR)
28 message(FATAL_ERROR "VTK_DIR not found")
31 #-----------------------------------------------------------------------------
34 #-----------------------------------------------------------------------------
35 #OPTION(USE_ITK "Build ITK-based black boxes" OFF)
41 MESSAGE ( STATUS "Looking for ITK... found")
42 MESSAGE ( STATUS "* Dir = ${ITK_DIR}")
43 MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
44 INCLUDE(${ITK_USE_FILE})
46 SET(BBTK_ITK_LIBRARIES
47 ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
49 MARK_AS_ADVANCED(ITK_DIR)
50 # images compilation option
51 OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON)
52 OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON)
53 OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON)
54 OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON)
55 OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON)
56 OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON)
57 OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON)
58 OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON)
59 OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON)
60 OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON)
61 OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON)
63 IF ( itk_IMAGE_DIM_2 )
64 ADD_DEF( BBTK_ITK_IMAGE_DIM_2 )
65 ENDIF ( itk_IMAGE_DIM_2 )
67 IF ( itk_IMAGE_DIM_3 )
68 ADD_DEF( BBTK_ITK_IMAGE_DIM_3 )
69 ENDIF ( itk_IMAGE_DIM_3 )
71 IF ( itk_IMAGE_DIM_4 )
72 ADD_DEF( BBTK_ITK_IMAGE_DIM_4 )
73 ENDIF ( itk_IMAGE_DIM_4 )
75 IF ( itk_IMAGE_TYPE_CHAR )
76 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int8_t )
77 ENDIF ( itk_IMAGE_TYPE_CHAR )
79 IF ( itk_IMAGE_TYPE_UCHAR )
80 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint8_t )
81 ENDIF ( itk_IMAGE_TYPE_UCHAR )
83 IF ( itk_IMAGE_TYPE_SHORT )
84 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int16_t )
85 ENDIF ( itk_IMAGE_TYPE_SHORT )
87 IF ( itk_IMAGE_TYPE_USHORT )
88 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint16_t )
89 ENDIF ( itk_IMAGE_TYPE_USHORT )
91 IF ( itk_IMAGE_TYPE_INT )
92 ADD_DEF( BBTK_ITK_IMAGE_TYPE_int32_t )
93 ENDIF ( itk_IMAGE_TYPE_INT )
95 IF ( itk_IMAGE_TYPE_UINT )
96 ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint32_t )
97 ENDIF ( itk_IMAGE_TYPE_UINT )
99 IF ( itk_IMAGE_TYPE_FLOAT )
100 ADD_DEF( BBTK_ITK_IMAGE_TYPE_float )
101 ENDIF ( itk_IMAGE_TYPE_FLOAT )
103 IF ( itk_IMAGE_TYPE_DOUBLE )
104 ADD_DEF( BBTK_ITK_IMAGE_TYPE_double )
105 ENDIF ( itk_IMAGE_TYPE_DOUBLE )
107 message(FATAL_ERROR "ITK_DIR not found")
110 #-----------------------------------------------------------------------------
113 #-----------------------------------------------------------------------------
114 #OPTION(USE_GDCM "Build GDCM-based black boxes" OFF)
120 INCLUDE(${GDCM_USE_FILE})
121 ADD_DEF( _USE_GDCM_ )
123 MESSAGE ( STATUS "Looking for GDCM... found")
124 MESSAGE ( STATUS "* Dir = ${GDCM_DIR}")
125 MESSAGE ( STATUS "* Version = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
126 MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
128 # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with
129 # embedded gdcm in ITK and will result in hard seg faults !
130 IF (GDCM_NAME_SPACE STREQUAL "gdcm")
131 MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
132 ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
134 MARK_AS_ADVANCED(GDCM_DIR)
136 SET(BBTK_GDCM_LIBRARIES
137 # TO DO : USE GDCM LINK LIBRARIES !!!
138 # IF gdcm WAS NOT COMPILE WITH VTK THE ABOVE FORCED LINK WITH vtkgdcm DOES NOT WORK
140 #gdcm gdcmjpeg8 gdcmjpeg12 gdcmjpeg16
145 # SET(BBTK_GDCM_LIBRARIES
146 # ${BBTK_GDCM_LIBRARIES}
154 #-----------------------------------------------------------------------------
156 #-----------------------------------------------------------------------------
158 INCLUDE(${BBTK_CMAKE_DIR}/BBTKWxWidgets.cmake)
159 BBTK_FIND_WXWIDGETS()
162 #-----------------------------------------------------------------------------
166 #-----------------------------------------------------------------------------
168 FIND_PACKAGE(Doxygen REQUIRED)
169 # MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
173 MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
176 #-----------------------------------------------------------------------------
179 #-----------------------------------------------------------------------------
181 FIND_PACKAGE(LATEX REQUIRED)
182 MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
184 #-----------------------------------------------------------------------------
186 #-----------------------------------------------------------------------------
188 FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux)
189 IF (NOT LATEX_tth_CONVERTER)
190 MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
191 ELSE (NOT LATEX_tth_CONVERTER)
192 MESSAGE(STATUS "Looking for tth... - found ${LATEX_tth_CONVERTER}")
193 ENDIF(NOT LATEX_tth_CONVERTER)
194 MARK_AS_ADVANCED(LATEX_tth_CONVERTER)
196 #-----------------------------------------------------------------------------
198 #-----------------------------------------------------------------------------
200 IF(BBTK_USE_SHIPPED_BOOST)
201 MESSAGE(STATUS "bbtk uses shipped boost C++ library (${BBTK_SHIPPED_BOOST})")
203 ${PROJECT_SOURCE_DIR}/kernel/src/ThirdParty/${BBTK_SHIPPED_BOOST})
205 # TO DO : CLEANLY BLOCK auto_link.hpp INCLUSION
206 #ADD_DEF(BOOST_SIGNALS_NO_LIB)
207 SET(BBTK_BOOST_LIBRARIES
211 ELSE(BBTK_USE_SHIPPED_BOOST)
212 FIND_PACKAGE(Boost REQUIRED)
213 MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
215 MESSAGE(STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
216 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
217 LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
218 SET(BBTK_BOOST_LIBRARIES
222 MESSAGE(FATAL_ERRO "boost C++ library not found - either set Boost_INCLUDE_DIR or set BBTK_USE_SHIPPED_BOOST to ON to use shipped ${BBTK_SHIPPED_BOOST}")
224 ENDIF(BBTK_USE_SHIPPED_BOOST)
226 #-----------------------------------------------------------------------------