]> Creatis software - crea.git/blob - cmake/CREAMacro_FindAndUseVTK.cmake
#3169 creaFeature New Normal - branch vtk7itk4wx3-mxecc
[crea.git] / cmake / CREAMacro_FindAndUseVTK.cmake
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and 
10 #  abiding by the rules of distribution of free software. You can  use, 
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
12 #  license as circulated by CEA, CNRS and INRIA at the following URL 
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability. 
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */ 
25
26
27 MACRO(CREA_FIND_AND_USE_VTK)
28   #---------------------------------------------------------------------------
29   IF(NOT VTK_FOUND)
30     # Search VTK
31         message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: " ${CMAKE_CURRENT_LIST_FILE})
32         message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: " ${_IMPORT_PREFIX})
33     FIND_PACKAGE(VTK)
34     # If vtk found
35     IF(VTK_FOUND)
36
37       MESSAGE ( STATUS "=======================================")
38       MESSAGE ( STATUS "Looking for VTK... found")
39       MESSAGE ( STATUS "* Dir     = ${VTK_DIR}")
40       MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
41       SET(VTK_BUILD_SETTINGS_FILE OFF)      
42         INCLUDE(${VTK_USE_FILE})
43         LINK_DIRECTORIES(${VTK_DIR}) #DFCH -- 16/7/2012
44
45         IF(VTK_USE_GL2PS)
46                 add_definitions(-DUSE_WXGLCANVAS)
47                 # CMake 2.6:
48                 # technically those packages are not required since one can still use the Motif/X11 version and not the gtk one:
49                 FIND_PACKAGE(PkgConfig)
50                 pkg_check_modules (GTK2 gtk+-2.0)
51                 #MESSAGE("${GTK2_INCLUDE_DIRS}")
52                 INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
53                 LINK_LIBRARIES(${GTK2_LIBRARIES})
54                 # Can I require all my user to have the gl lib on linux, even if they do not really need it...
55                 SET(WXGLCANVASLIBS "gl")
56         ENDIF(VTK_USE_GL2PS)  
57
58       CREA_DEFINE( USE_VTK )
59       CREA_DEFINE( _USE_VTK_ )
60
61 ##EED 2017-01-01 Migration VTK7
62 IF("${VTK_MAJOR_VERSION}" LESS 6)
63         SET(VTK_LIBRARIES
64                 vtkCommon     # Mandatory
65                 vtkFiltering  # vtkImageData
66                 vtkRendering  # vtkProp3D
67                 vtkWidgets    # vtkImagePlaneWidget
68                 vtkIO         # vtkMetaImageReader/Writer
69                 vtkImaging    # filters such as vtkImageAnisotropicDiffusion3D
70                 vtkGraphics   # vtkContourFilter, sources
71                 vtkVolumeRendering # Mappers 
72                 vtkGenericFiltering
73                 vtkHybrid
74 #               vtkInfovis
75 #               vtkViews
76         )
77         IF(NOT USE_ITK)
78                 SET(VTK_LIBRARIES ${VTK_LIBRARIES} vtkIO)
79     ENDIF(NOT USE_ITK)
80
81 ENDIF( ("${VTK_MAJOR_VERSION}" GREATER 5) AND ("${VTK_MAJOR_VERSION}" LESS 8) )
82
83
84 ##EED 2017-01-01 Migration VTK7
85 IF( ("${VTK_MAJOR_VERSION}" GREATER 7) AND ("${VTK_MAJOR_VERSION}" LESS 9) )
86         SET(VTK_LIBRARIES
87             vtkalglib                       
88             vtkFiltersHybrid           
89             vtkImagingCore           
90             vtkIOLegacy        
91             vtkRenderingAnnotation
92             vtkChartsCore
93             vtkFiltersHyperTree        
94             vtkImagingFourier        
95             vtkIOLSDyna        
96             vtkRenderingContext2D
97             vtkCommonColor                  
98             vtkFiltersImaging          
99             vtkImagingGeneral        
100             vtkIOMINC          
101             vtkCommonComputationalGeometry  
102             vtkFiltersModeling         
103             vtkImagingHybrid         
104             vtkIOMovie         
105             vtkRenderingCore
106             vtkCommonCore                   
107             vtkFiltersParallel         
108             vtkImagingMath           
109             vtkIONetCDF        
110             vtkRenderingFreeType
111             vtkCommonDataModel              
112             vtkFiltersParallelImaging  
113             vtkImagingMorphological  
114             vtkIOParallel      
115             vtkCommonExecutionModel         
116             vtkFiltersPoints           
117             vtkImagingSources        
118             vtkIOParallelXML   
119             vtkRenderingImage
120             vtkCommonMath                   
121             vtkFiltersProgrammable     
122             vtkImagingStatistics     
123             vtkIOPLY           
124             vtkRenderingLabel
125             vtkCommonMisc                   
126             vtkFiltersSelection        
127             vtkImagingStencil        
128             vtkIOSQL           
129             vtkRenderingLOD
130             vtkCommonSystem                 
131             vtkFiltersSMP              
132             vtkInfovisCore           
133             vtkIOTecplotTable  
134             vtkCommonTransforms             
135             vtkFiltersSources          
136             vtkInfovisLayout         
137             vtkIOVideo         
138             vtkRenderingQt
139             vtkDICOMParser                  
140             vtkFiltersStatistics       
141             vtkInteractionImage      
142             vtkIOXML           
143             vtkRenderingVolume
144             vtkDomainsChemistry             
145             vtkFiltersTexture          
146             vtkInteractionStyle      
147             vtkIOXMLParser     
148             vtkFiltersVerdict          
149             vtkInteractionWidgets    
150             vtkjpeg            
151             vtksqlite
152             vtkexoIIc                       
153             vtkfreetype                
154             vtkIOAMR                 
155             vtkjsoncpp         
156             vtksys
157             vtkexpat                        
158             vtkGeovisCore              
159             vtkIOCore                
160             vtklibxml2         
161 #vtk8       vtktiff
162             vtkFiltersAMR                   
163             vtkgl2ps                   
164             vtkIOEnSight             
165             vtkmetaio          
166 #           vtkverdict
167             vtkFiltersCore                  
168             vtkIOExodus              
169             vtkNetCDF          
170             vtkViewsContext2D
171             vtkFiltersExtraction            
172             vtkGUISupportQt            
173             vtkIOExport              
174 #vtk8       vtkNetCDF_cxx      
175             vtkViewsCore
176             vtkFiltersFlowPaths             
177             vtkGUISupportQtSQL         
178             vtkIOGeometry            
179 #vtk8       vtkoggtheora       
180 #vtk8       vtkViewsGeovis
181             vtkFiltersGeneral               
182 #vtk8       vtkhdf5                    
183             vtkIOImage               
184             vtkParallelCore    
185             vtkViewsInfovis
186             vtkFiltersGeneric               
187 #vtk8       vtkhdf5_hl                 
188             vtkIOImport              
189             vtkpng             
190             vtkViewsQt
191             vtkFiltersGeometry              
192             vtkImagingColor            
193             vtkIOInfovis             
194             vtkproj4               
195             vtkzlib
196
197 #           vtkRenderingVolumeOpenGL
198 #           vtkRenderingOpenGL
199 #           vtkRenderingGL2PS
200 #           vtkRenderingContextOpenGL
201
202 #vtk8       vtkglew                    
203             vtkRenderingVolumeOpenGL2
204             vtkDomainsChemistryOpenGL2      
205             vtkRenderingOpenGL2
206             vtkRenderingGL2PSOpenGL2
207             vtkRenderingContextOpenGL2
208
209         )
210 ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
211
212 ##EED 2017-01-01 Migration VTK7
213 IF( ("${VTK_MAJOR_VERSION}" GREATER 5) AND ("${VTK_MAJOR_VERSION}" LESS 8) )
214         SET(VTK_LIBRARIES
215             vtkalglib                       
216             vtkFiltersHybrid           
217             vtkImagingCore           
218             vtkIOLegacy        
219             vtkRenderingAnnotation
220             vtkChartsCore
221             vtkFiltersHyperTree        
222             vtkImagingFourier        
223             vtkIOLSDyna        
224             vtkRenderingContext2D
225             vtkCommonColor                  
226             vtkFiltersImaging          
227             vtkImagingGeneral        
228             vtkIOMINC          
229             vtkCommonComputationalGeometry  
230             vtkFiltersModeling         
231             vtkImagingHybrid         
232             vtkIOMovie         
233             vtkRenderingCore
234             vtkCommonCore                   
235             vtkFiltersParallel         
236             vtkImagingMath           
237             vtkIONetCDF        
238             vtkRenderingFreeType
239             vtkCommonDataModel              
240             vtkFiltersParallelImaging  
241             vtkImagingMorphological  
242             vtkIOParallel      
243             vtkCommonExecutionModel         
244             vtkFiltersPoints           
245             vtkImagingSources        
246             vtkIOParallelXML   
247             vtkRenderingImage
248             vtkCommonMath                   
249             vtkFiltersProgrammable     
250             vtkImagingStatistics     
251             vtkIOPLY           
252             vtkRenderingLabel
253             vtkCommonMisc                   
254             vtkFiltersSelection        
255             vtkImagingStencil        
256             vtkIOSQL           
257             vtkRenderingLOD
258             vtkCommonSystem                 
259             vtkFiltersSMP              
260             vtkInfovisCore           
261             vtkIOTecplotTable  
262             vtkCommonTransforms             
263             vtkFiltersSources          
264             vtkInfovisLayout         
265             vtkIOVideo         
266             vtkRenderingQt
267             vtkDICOMParser                  
268             vtkFiltersStatistics       
269             vtkInteractionImage      
270             vtkIOXML           
271             vtkRenderingVolume
272             vtkDomainsChemistry             
273             vtkFiltersTexture          
274             vtkInteractionStyle      
275             vtkIOXMLParser     
276             vtkFiltersVerdict          
277             vtkInteractionWidgets    
278             vtkjpeg            
279             vtksqlite
280             vtkexoIIc                       
281             vtkfreetype                
282             vtkIOAMR                 
283             vtkjsoncpp         
284             vtksys
285             vtkexpat                        
286             vtkGeovisCore              
287             vtkIOCore                
288             vtklibxml2         
289             vtktiff
290             vtkFiltersAMR                   
291             vtkgl2ps                   
292             vtkIOEnSight             
293             vtkmetaio          
294 #           vtkverdict
295             vtkFiltersCore                  
296             vtkIOExodus              
297             vtkNetCDF          
298             vtkViewsContext2D
299             vtkFiltersExtraction            
300             vtkGUISupportQt            
301             vtkIOExport              
302             vtkNetCDF_cxx      
303             vtkViewsCore
304             vtkFiltersFlowPaths             
305             vtkGUISupportQtSQL         
306             vtkIOGeometry            
307             vtkoggtheora       
308             vtkViewsGeovis
309             vtkFiltersGeneral               
310             vtkhdf5                    
311             vtkIOImage               
312             vtkParallelCore    
313             vtkViewsInfovis
314             vtkFiltersGeneric               
315             vtkhdf5_hl                 
316             vtkIOImport              
317             vtkpng             
318             vtkViewsQt
319             vtkFiltersGeometry              
320             vtkImagingColor            
321             vtkIOInfovis             
322             vtkproj4               
323             vtkzlib
324
325 #           vtkRenderingVolumeOpenGL
326 #           vtkRenderingOpenGL
327 #           vtkRenderingGL2PS
328 #           vtkRenderingContextOpenGL
329
330             vtkglew                    
331             vtkRenderingVolumeOpenGL2
332             vtkDomainsChemistryOpenGL2      
333             vtkRenderingOpenGL2
334             vtkRenderingGL2PSOpenGL2
335             vtkRenderingContextOpenGL2
336
337         )
338 ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
339
340
341
342         MARK_AS_ADVANCED(VTK_DIR)
343     ELSE(VTK_FOUND)
344       message(FATAL_ERROR "VTK_DIR not found")
345     ENDIF(VTK_FOUND)
346   ENDIF(NOT VTK_FOUND)  
347   #---------------------------------------------------------------------------
348 ENDMACRO(CREA_FIND_AND_USE_VTK)