]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_FindAndUseVTK.cmake
#3204 crea Feature New Normal branch mingw64
[crea.git] / cmake / CREAMacro_FindAndUseVTK.cmake
index e7a71a89c527da9e596221a3b1f76fd63994c168..dd6db4c3e39d81891454f478002b2c8072fe0122 100644 (file)
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and 
+#  abiding by the rules of distribution of free software. You can  use, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */ 
+
+
 MACRO(CREA_FIND_AND_USE_VTK)
   #---------------------------------------------------------------------------
   IF(NOT VTK_FOUND)
     # Search VTK
+       message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: " ${CMAKE_CURRENT_LIST_FILE})
+       message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: " ${_IMPORT_PREFIX})
     FIND_PACKAGE(VTK)
     # If vtk found
     IF(VTK_FOUND)
+
       MESSAGE ( STATUS "=======================================")
       MESSAGE ( STATUS "Looking for VTK... found")
       MESSAGE ( STATUS "* Dir     = ${VTK_DIR}")
       MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
-      INCLUDE(${VTK_USE_FILE})
+      SET(VTK_BUILD_SETTINGS_FILE OFF)      
+       INCLUDE(${VTK_USE_FILE})
+       LINK_DIRECTORIES(${VTK_DIR}) #DFCH -- 16/7/2012
+
+       IF(VTK_USE_GL2PS)
+               add_definitions(-DUSE_WXGLCANVAS)
+               # CMake 2.6:
+               # technically those packages are not required since one can still use the Motif/X11 version and not the gtk one:
+               FIND_PACKAGE(PkgConfig)
+               pkg_check_modules (GTK2 gtk+-2.0)
+               #MESSAGE("${GTK2_INCLUDE_DIRS}")
+               INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
+               LINK_LIBRARIES(${GTK2_LIBRARIES})
+               # Can I require all my user to have the gl lib on linux, even if they do not really need it...
+               SET(WXGLCANVASLIBS "gl")
+       ENDIF(VTK_USE_GL2PS)  
+
       CREA_DEFINE( USE_VTK )
       CREA_DEFINE( _USE_VTK_ )
-      SET(VTK_LIBRARIES
-       vtkCommon     # Mandatory
-       vtkFiltering  # vtkImageData
-       vtkRendering  # vtkProp3D
-       vtkWidgets    # vtkImagePlaneWidget
-       vtkIO         # vtkMetaImageReader/Writer
-       vtkImaging    # filters such as vtkImageAnisotropicDiffusion3D
-       vtkGraphics   # vtkContourFilter, sources
-       vtkVolumeRendering # Mappers 
-       vtkGenericFiltering
-       vtkHybrid
-#      vtkInfovis
-       vtkViews
-       ) 
-      IF(NOT USE_ITK)
-       SET(VTK_LIBRARIES ${VTK_LIBRARIES} vtkIO)
-      ENDIF(NOT USE_ITK)
-      MARK_AS_ADVANCED(VTK_DIR)
+
+##EED 2017-01-01 Migration VTK7
+IF("${VTK_MAJOR_VERSION}" LESS 6)
+       SET(VTK_LIBRARIES
+               vtkCommon     # Mandatory
+               vtkFiltering  # vtkImageData
+               vtkRendering  # vtkProp3D
+               vtkWidgets    # vtkImagePlaneWidget
+               vtkIO         # vtkMetaImageReader/Writer
+               vtkImaging    # filters such as vtkImageAnisotropicDiffusion3D
+               vtkGraphics   # vtkContourFilter, sources
+               vtkVolumeRendering # Mappers 
+               vtkGenericFiltering
+               vtkHybrid
+#              vtkInfovis
+#              vtkViews
+       )
+       IF(NOT USE_ITK)
+               SET(VTK_LIBRARIES ${VTK_LIBRARIES} vtkIO)
+    ENDIF(NOT USE_ITK)
+
+ENDIF("${VTK_MAJOR_VERSION}" LESS 6)
+
+
+##EED 2017-01-01 Migration VTK7
+IF("${VTK_MAJOR_VERSION}" GREATER 5)
+       SET(VTK_LIBRARIES
+           vtkalglib                       
+           vtkFiltersHybrid           
+           vtkImagingCore           
+           vtkIOLegacy        
+           vtkRenderingAnnotation
+           vtkChartsCore
+           vtkFiltersHyperTree        
+           vtkImagingFourier        
+           vtkIOLSDyna        
+           vtkRenderingContext2D
+           vtkCommonColor                  
+           vtkFiltersImaging          
+           vtkImagingGeneral        
+           vtkIOMINC          
+           vtkCommonComputationalGeometry  
+           vtkFiltersModeling         
+           vtkImagingHybrid         
+           vtkIOMovie         
+           vtkRenderingCore
+           vtkCommonCore                   
+           vtkFiltersParallel         
+           vtkImagingMath           
+           vtkIONetCDF        
+           vtkRenderingFreeType
+           vtkCommonDataModel              
+           vtkFiltersParallelImaging  
+           vtkImagingMorphological  
+           vtkIOParallel      
+           vtkCommonExecutionModel         
+           vtkFiltersPoints           
+           vtkImagingSources        
+           vtkIOParallelXML   
+           vtkRenderingImage
+           vtkCommonMath                   
+           vtkFiltersProgrammable     
+           vtkImagingStatistics     
+           vtkIOPLY           
+           vtkRenderingLabel
+           vtkCommonMisc                   
+           vtkFiltersSelection        
+           vtkImagingStencil        
+           vtkIOSQL           
+           vtkRenderingLOD
+           vtkCommonSystem                 
+           vtkFiltersSMP              
+           vtkInfovisCore           
+           vtkIOTecplotTable  
+           vtkCommonTransforms             
+           vtkFiltersSources          
+           vtkInfovisLayout         
+           vtkIOVideo         
+           vtkDICOMParser                  
+           vtkFiltersStatistics       
+           vtkInteractionImage      
+           vtkIOXML           
+           vtkRenderingVolume
+           vtkDomainsChemistry             
+           vtkFiltersTexture          
+           vtkInteractionStyle      
+           vtkIOXMLParser     
+           vtkFiltersVerdict          
+           vtkInteractionWidgets    
+           vtkjpeg            
+           vtksqlite
+           vtkexoIIc                       
+           vtkfreetype                
+           vtkIOAMR                 
+           vtkjsoncpp         
+           vtksys
+           vtkexpat                        
+           vtkGeovisCore              
+           vtkIOCore                
+           vtklibxml2         
+           vtktiff
+           vtkFiltersAMR                   
+           vtkgl2ps                   
+           vtkIOEnSight             
+           vtkmetaio          
+#          vtkverdict
+           vtkFiltersCore                  
+           vtkIOExodus              
+           vtkNetCDF          
+           vtkViewsContext2D
+           vtkFiltersExtraction            
+           vtkIOExport              
+           vtkViewsCore
+           vtkFiltersFlowPaths             
+           vtkIOGeometry            
+           vtkoggtheora       
+           vtkViewsGeovis
+           vtkFiltersGeneral               
+           vtkhdf5                    
+           vtkIOImage               
+           vtkParallelCore    
+           vtkViewsInfovis
+           vtkFiltersGeneric               
+           vtkhdf5_hl                 
+           vtkIOImport              
+           vtkpng             
+           vtkFiltersGeometry              
+           vtkImagingColor            
+           vtkIOInfovis             
+           vtkproj4               
+           vtkzlib
+
+#          vtkRenderingVolumeOpenGL
+#          vtkRenderingOpenGL
+#          vtkRenderingGL2PS
+#          vtkRenderingContextOpenGL
+
+           vtkglew                    
+           vtkRenderingVolumeOpenGL2
+           vtkDomainsChemistryOpenGL2      
+           vtkRenderingOpenGL2
+           vtkRenderingGL2PSOpenGL2
+           vtkRenderingContextOpenGL2
+
+#          vtkRenderingQt
+#          vtkGUISupportQt            
+#          vtkGUISupportQtSQL         
+#          vtkViewsQt
+#          vtkNetCDF_cxx      
+       )
+       IF (WIN32)
+         SET(VTK_LIBRARIES ${VTK_LIBRARIES} )
+    ELSE(WIN32)
+         SET(VTK_LIBRARIES ${VTK_LIBRARIES} 
+           vtkRenderingQt
+           vtkGUISupportQt            
+           vtkGUISupportQtSQL         
+           vtkViewsQt
+           vtkNetCDF_cxx       
+               )
+       ENDIF(WIN32)
+       
+       
+ENDIF("${VTK_MAJOR_VERSION}" GREATER 5)
+
+
+       MARK_AS_ADVANCED(VTK_DIR)
     ELSE(VTK_FOUND)
       message(FATAL_ERROR "VTK_DIR not found")
     ENDIF(VTK_FOUND)