]> Creatis software - crea.git/blob - cmake/CREAMacro_FindAndUseVTK.cmake
018187ef941c8f5f9ecb413a4f6b4822011119d9
[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}" LESS 6)
82
83
84 ##EED 2017-01-01 Migration VTK7
85 IF("${VTK_MAJOR_VERSION}" GREATER 5)
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             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             vtkNetCDF_cxx      
175             vtkViewsCore
176             vtkFiltersFlowPaths             
177             vtkGUISupportQtSQL         
178             vtkIOGeometry            
179             vtkoggtheora       
180             vtkViewsGeovis
181             vtkFiltersGeneral               
182             vtkhdf5                    
183             vtkIOImage               
184             vtkParallelCore    
185             vtkViewsInfovis
186             vtkFiltersGeneric               
187             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             vtkglew                    
203             vtkRenderingVolumeOpenGL2
204             vtkDomainsChemistryOpenGL2      
205             vtkRenderingOpenGL2
206             vtkRenderingGL2PSOpenGL2
207             vtkRenderingContextOpenGL2
208
209         )
210 ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
211
212
213         MARK_AS_ADVANCED(VTK_DIR)
214     ELSE(VTK_FOUND)
215       message(FATAL_ERROR "VTK_DIR not found")
216     ENDIF(VTK_FOUND)
217   ENDIF(NOT VTK_FOUND)  
218   #---------------------------------------------------------------------------
219 ENDMACRO(CREA_FIND_AND_USE_VTK)