]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKFindLibraries.cmake
*** empty log message ***
[bbtk.git] / kernel / cmake / BBTKFindLibraries.cmake
1
2
3 #-----------------------------------------------------------------------------
4 #OPTION(USE_VTK "Build VTK-based black boxes" OFF)
5 IF(USE_VTK)
6   # Search VTK
7   FIND_PACKAGE(VTK)
8   # If vtk found
9   IF(VTK_FOUND)
10     MESSAGE ( STATUS "VTK FOUND - VERSION = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
11     INCLUDE(${VTK_USE_FILE})
12     ADD_DEF( _USE_VTK_ )
13     SET(BBTK_VTK_LIBRARIES
14       #     vtkCommon 
15       vtkImaging  vtkGraphics vtkRendering vtkFiltering vtkCommon vtkWidgets
16       vtkVolumeRendering
17       # LG : removed vtkIO because conflict with itktiff lib in ITKIO 
18       ) 
19     MARK_AS_ADVANCED(VTK_DIR)
20   ELSE(VTK_FOUND)
21      message(FATAL_ERROR "VTK_DIR not found")
22   ENDIF(VTK_FOUND)
23 ENDIF(USE_VTK)
24 #-----------------------------------------------------------------------------
25
26
27 #-----------------------------------------------------------------------------
28 #OPTION(USE_ITK "Build ITK-based black boxes" OFF)
29 IF(USE_ITK)
30   # Search ITK
31   FIND_PACKAGE(ITK)
32   # If itk found
33   IF(ITK_FOUND)
34      MESSAGE ( STATUS "ITK FOUND - VERSION = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
35     INCLUDE(${ITK_USE_FILE})
36     ADD_DEF( _USE_ITK_ )
37     SET(BBTK_ITK_LIBRARIES
38       ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
39       )  
40     MARK_AS_ADVANCED(ITK_DIR)
41    # images compilation option 
42     OPTION ( itk_IMAGE_DIM_2 "itk : Compile 2D images" ON)
43     OPTION ( itk_IMAGE_DIM_3 "itk : Compile 3D images" ON)
44     OPTION ( itk_IMAGE_DIM_4 "itk : Compile 4D images" ON)
45     OPTION ( itk_IMAGE_TYPE_CHAR "itk : Compile char images" ON)
46     OPTION ( itk_IMAGE_TYPE_UCHAR "itk : Compile unsigned char images" ON)
47     OPTION ( itk_IMAGE_TYPE_SHORT "itk : Compile short images" ON)
48     OPTION ( itk_IMAGE_TYPE_USHORT "itk : Compile unsigned short images" ON)
49     OPTION ( itk_IMAGE_TYPE_INT "itk : Compile int images" ON)
50     OPTION ( itk_IMAGE_TYPE_UINT "itk : Compile unsigned int images" ON)
51     OPTION ( itk_IMAGE_TYPE_FLOAT "itk : Compile float images" ON)
52     OPTION ( itk_IMAGE_TYPE_DOUBLE "itk : Compile double images" ON)
53     
54     IF ( itk_IMAGE_DIM_2 ) 
55       ADD_DEF( BBTK_ITK_IMAGE_DIM_2 )
56     ENDIF ( itk_IMAGE_DIM_2 )
57     
58     IF ( itk_IMAGE_DIM_3 ) 
59       ADD_DEF( BBTK_ITK_IMAGE_DIM_3 )
60     ENDIF ( itk_IMAGE_DIM_3 )
61     
62     IF ( itk_IMAGE_DIM_4 ) 
63       ADD_DEF( BBTK_ITK_IMAGE_DIM_4 )
64     ENDIF ( itk_IMAGE_DIM_4 )
65
66     IF ( itk_IMAGE_TYPE_CHAR ) 
67       ADD_DEF( BBTK_ITK_IMAGE_TYPE_int8_t )
68     ENDIF ( itk_IMAGE_TYPE_CHAR )
69
70     IF ( itk_IMAGE_TYPE_UCHAR ) 
71       ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint8_t )
72     ENDIF ( itk_IMAGE_TYPE_UCHAR )
73     
74     IF ( itk_IMAGE_TYPE_SHORT ) 
75       ADD_DEF( BBTK_ITK_IMAGE_TYPE_int16_t )
76     ENDIF ( itk_IMAGE_TYPE_SHORT )
77     
78     IF ( itk_IMAGE_TYPE_USHORT ) 
79       ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint16_t )
80     ENDIF ( itk_IMAGE_TYPE_USHORT )
81     
82     IF ( itk_IMAGE_TYPE_INT ) 
83       ADD_DEF( BBTK_ITK_IMAGE_TYPE_int32_t )
84     ENDIF ( itk_IMAGE_TYPE_INT )
85     
86     IF ( itk_IMAGE_TYPE_UINT ) 
87       ADD_DEF( BBTK_ITK_IMAGE_TYPE_uint32_t )
88     ENDIF ( itk_IMAGE_TYPE_UINT )
89     
90     IF ( itk_IMAGE_TYPE_FLOAT ) 
91       ADD_DEF( BBTK_ITK_IMAGE_TYPE_float )
92     ENDIF ( itk_IMAGE_TYPE_FLOAT )
93     
94     IF ( itk_IMAGE_TYPE_DOUBLE ) 
95       ADD_DEF( BBTK_ITK_IMAGE_TYPE_double )
96     ENDIF ( itk_IMAGE_TYPE_DOUBLE )
97   ELSE(ITK_FOUND)
98      message(FATAL_ERROR "ITK_DIR not found")
99   ENDIF(ITK_FOUND)
100 ENDIF(USE_ITK)
101 #-----------------------------------------------------------------------------
102
103 #-----------------------------------------------------------------------------
104 #OPTION(USE_GDCM "Build GDCM-based black boxes" OFF)
105 IF(USE_GDCM)
106   # Search GDCM
107   FIND_PACKAGE(GDCM)
108   # If gdcm found
109   IF(GDCM_FOUND)
110     INCLUDE(${GDCM_USE_FILE})
111     ADD_DEF( _USE_GDCM_ )
112     
113     SET(BBTK_GDCM_LIBRARIES
114 # TO DO : USE GDCM LINK LIBRARIES !!!
115        gdcm  gdcmjpeg8  gdcmjpeg12  gdcmjpeg16
116       )
117
118      IF(USE_VTK )
119          SET(BBTK_GDCM_LIBRARIES
120                    ${BBTK_GDCM_LIBRARIES}
121                    vtkgdcm  
122          )
123      ENDIF(USE_VTK)
124
125   ENDIF(GDCM_FOUND)
126 ENDIF(USE_GDCM)
127 #-----------------------------------------------------------------------------
128
129 #-----------------------------------------------------------------------------
130 IF(USE_WXWIDGETS)
131   INCLUDE(${BBTK_CMAKE_DIR}/BBTKWxWidgets.cmake)
132   BBTK_FIND_WXWIDGETS()
133   BBTK_USE_WXWIDGETS()
134 ENDIF(USE_WXWIDGETS)
135 #-----------------------------------------------------------------------------
136
137
138
139 #-----------------------------------------------------------------------------
140 IF(USE_DOXYGEN) 
141   FIND_PACKAGE(Doxygen REQUIRED)
142 #  MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN}")
143   #  IF(DOXYGEN)
144 #    
145 #  ELSE(DOXYGEN)
146 #    MESSAGE(FATAL_ERROR "Doxygen not found. Required to build the doxygen documentation")
147 #  ENDIF(DOXYGEN)
148 ENDIF(USE_DOXYGEN)
149 #-----------------------------------------------------------------------------
150
151
152 #-----------------------------------------------------------------------------
153 IF(USE_LATEX) 
154   FIND_PACKAGE(LATEX REQUIRED)
155   MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
156 ENDIF(USE_LATEX) 
157 #-----------------------------------------------------------------------------
158
159 #-----------------------------------------------------------------------------
160 IF(USE_TTH) 
161   FIND_FILE(LATEX_tth_CONVERTER NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux)
162   IF (NOT LATEX_tth_CONVERTER)
163     MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
164   ELSE (NOT LATEX_tth_CONVERTER)
165     MESSAGE(STATUS "Looking for tth... - found ${LATEX_tth_CONVERTER}")
166   ENDIF(NOT LATEX_tth_CONVERTER)
167   MARK_AS_ADVANCED(LATEX_tth_CONVERTER)
168 ENDIF(USE_TTH)
169 #-----------------------------------------------------------------------------
170
171 #-----------------------------------------------------------------------------
172 IF(USE_BOOST)
173   IF(BBTK_USE_SHIPPED_BOOST)
174     MESSAGE(STATUS "bbtk uses shipped boost C++ library (${BBTK_SHIPPED_BOOST})")
175     INCLUDE_DIRECTORIES( 
176       ${PROJECT_SOURCE_DIR}/kernel/src/ThirdParty/${BBTK_SHIPPED_BOOST})
177
178     # TO DO : CLEANLY BLOCK auto_link.hpp INCLUSION 
179     #ADD_DEF(BOOST_SIGNALS_NO_LIB)
180     SET(BBTK_BOOST_LIBRARIES
181       bbtk_boost_signals
182       )  
183
184   ELSE(BBTK_USE_SHIPPED_BOOST)
185     FIND_PACKAGE(Boost REQUIRED)
186     MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
187     IF(Boost_FOUND)
188       MESSAGE(STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
189       INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
190       LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
191       SET(BBTK_BOOST_LIBRARIES
192         boost_signals
193         )
194     ELSE(Boost_FOUND)
195       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}")
196     ENDIF(Boost_FOUND)
197   ENDIF(BBTK_USE_SHIPPED_BOOST)
198 ENDIF(USE_BOOST)
199 #-----------------------------------------------------------------------------