macro(find_qvtk) find_library (QVTK_LIBRARY QVTK HINTS ${VTK_DIR} ${VTK_DIR}/bin) find_path (QVTK_INCLUDE_DIR QVTKWidget.h HINT ${VTK_INCLUDE_DIRS}) find_package_handle_standard_args(QVTK DEFAULT_MSG QVTK_LIBRARY QVTK_INCLUDE_DIR) if(QVTK_FOUND) get_filename_component (QVTK_LIBRARY_DIR ${QVTK_LIBRARY} PATH) list(APPEND VTK_LIBRARY_DIRS ${QVTK_LIBRARY_DIR}) list(APPEND VTK_INCLUDE_DIRS ${QVTK_INCLUDE_DIR}) set (VTK_USE_QVTK ON) endif() endmacro() macro(find_vtk) find_package(VTK) if(${VTK_MAJOR_VERSION} LESS 5) MESSAGE(FATAL_ERROR "VTK 5 or more required!") endif() if(VTK_FOUND) if (BUILD_SHARED_LIBS OR (NOT BUILD_SHARED_LIBS AND NOT VTK_BUILD_SHARED_LIBS)) find_qvtk() message(STATUS "VTK found (include: ${VTK_INCLUDE_DIRS}, lib: ${VTK_LIBRARY_DIRS})") link_directories(${VTK_LIBRARY_DIRS}) include_directories(SYSTEM ${VTK_INCLUDE_DIRS}) set(HAVE_VTK ON) else () set(HAVE_VTK OFF) message (FATAL_ERROR "VTK disabled. You are to build OpenCV in STATIC but VTK is SHARED!") endif () endif() endmacro() if (NOT OPENCV_INITIAL_PASS AND DEFINED BUILD_opencv_viz AND BUILD_opencv_viz) find_vtk() endif() if(DEFINED HAVE_VTK AND HAVE_VTK) set(VTK_USE_FILE ${VTK_USE_FILE} CACHE INTERNAL "VTK_USE_FILE") include (${VTK_USE_FILE}) add_definitions(-DHAVE_VTK) endif() set(the_description "Viz") set(BUILD_opencv_viz_INIT OFF) include_directories(src) ocv_define_module(viz opencv_core) if(DEFINED BUILD_opencv_viz AND BUILD_opencv_viz AND DEFINED HAVE_VTK AND HAVE_VTK) if (${VTK_VERSION_MAJOR} EQUAL 5) target_link_libraries(opencv_viz vtkCommon vtkWidgets vtkFiltering vtkRendering) else() target_link_libraries(opencv_viz vtkViewsCore vtkRenderingLOD vtkIOPLY vtkRenderingFreeTypeOpenGL vtkRenderingVolumeOpenGL vtkFiltersTexture) endif() if(APPLE) target_link_libraries(opencv_viz "-framework Cocoa") endif() endif()