cmake: add compilation test for VTK
authorVladislav Sovrasov <sovrasov.vlad@gmail.com>
Thu, 18 May 2017 10:49:46 +0000 (13:49 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Tue, 10 Apr 2018 15:09:54 +0000 (18:09 +0300)
cmake/OpenCVDetectVTK.cmake
cmake/checks/vtk_test.cpp [new file with mode: 0644]

index f160777..702069b 100644 (file)
@@ -52,5 +52,18 @@ if(HAVE_QT AND ${VTK_VERSION} VERSION_GREATER "6.0.0" AND NOT ${VTK_QT_VERSION}
   endif()
 endif()
 
+try_compile(VTK_COMPILE_STATUS
+    "${OpenCV_BINARY_DIR}"
+    "${OpenCV_SOURCE_DIR}/cmake/checks/vtk_test.cpp"
+    CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${VTK_INCLUDE_DIRS}"
+    LINK_LIBRARIES ${VTK_LIBRARIES}
+    OUTPUT_VARIABLE OUTPUT
+)
+
+if(NOT ${VTK_COMPILE_STATUS})
+  message(STATUS "VTK support is disabled. Compilation of the sample code has failed.")
+  return()
+endif()
+
 set(HAVE_VTK ON)
 message(STATUS "Found VTK ${VTK_VERSION} (${VTK_USE_FILE})")
diff --git a/cmake/checks/vtk_test.cpp b/cmake/checks/vtk_test.cpp
new file mode 100644 (file)
index 0000000..2096133
--- /dev/null
@@ -0,0 +1,9 @@
+#include <vtkSmartPointer.h>
+#include <vtkTransform.h>
+#include <vtkMath.h>
+
+int main()
+{
+  vtkSmartPointer<vtkTransform> transform = vtkSmartPointer<vtkTransform>::New();
+  return 0;
+}