Home | History | Annotate | Download | only in cmake
      1 if(NOT WITH_VTK OR ANDROID OR IOS)
      2   return()
      3 endif()
      4 
      5 # VTK 6.x components
      6 find_package(VTK QUIET COMPONENTS vtkRenderingOpenGL vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE)
      7 
      8 # VTK 5.x components
      9 if(NOT VTK_FOUND)
     10   find_package(VTK QUIET COMPONENTS vtkCommon NO_MODULE)
     11 endif()
     12 
     13 if(NOT VTK_FOUND)
     14   set(HAVE_VTK OFF)
     15   message(STATUS "VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file")
     16   return()
     17 endif()
     18 
     19 # Don't support ealier VTKs
     20 if(${VTK_VERSION} VERSION_LESS "5.8.0")
     21   message(STATUS "VTK support is disabled. VTK ver. 5.8.0 is minimum required, but found VTK ver. ${VTK_VERSION}")
     22   return()
     23 endif()
     24 
     25 # Different Qt versions can't be linked together
     26 if(HAVE_QT5 AND ${VTK_VERSION} VERSION_LESS "6.0.0")
     27   if(VTK_USE_QT)
     28     message(STATUS "VTK support is disabled. Incompatible combination: OpenCV + Qt5 and VTK ver.${VTK_VERSION} + Qt4")
     29   endif()
     30 endif()
     31 
     32 # Different Qt versions can't be linked together. VTK 6.0.0 doesn't provide a way to get Qt version it was linked with
     33 if(HAVE_QT5 AND ${VTK_VERSION} VERSION_EQUAL "6.0.0" AND NOT DEFINED FORCE_VTK)
     34   message(STATUS "VTK support is disabled. Possible incompatible combination: OpenCV+Qt5, and VTK ver.${VTK_VERSION} with Qt4")
     35   message(STATUS "If it is known that VTK was compiled without Qt4, please define '-DFORCE_VTK=TRUE' flag in CMake")
     36   return()
     37 endif()
     38 
     39 # Different Qt versions can't be linked together
     40 if(HAVE_QT AND ${VTK_VERSION} VERSION_GREATER "6.0.0" AND NOT ${VTK_QT_VERSION} STREQUAL "")
     41   if(HAVE_QT5 AND ${VTK_QT_VERSION} EQUAL "4")
     42     message(STATUS "VTK support is disabled. Incompatible combination: OpenCV + Qt5 and VTK ver.${VTK_VERSION} + Qt4")
     43     return()
     44   endif()
     45 
     46   if(NOT HAVE_QT5 AND ${VTK_QT_VERSION} EQUAL "5")
     47     message(STATUS "VTK support is disabled. Incompatible combination: OpenCV + Qt4 and VTK ver.${VTK_VERSION} + Qt5")
     48     return()
     49   endif()
     50 endif()
     51 
     52 set(HAVE_VTK ON)
     53 message(STATUS "Found VTK ver. ${VTK_VERSION} (usefile: ${VTK_USE_FILE})")
     54