CMakeLists.txt 3.39 KB
Newer Older
1 2 3 4 5
INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
)

6 7
include(vtkOpenGL)

VTK Developers's avatar
VTK Developers committed
8
# For tests that actually use a vtkRenderWindow
Ben Boeckel's avatar
Ben Boeckel committed
9
vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
VTK Developers's avatar
VTK Developers committed
10
  LoadOpenGLExtension.cxx
11 12
  TestFBO.cxx,NO_VALID
  TestGPUInfo.cxx,NO_VALID
13
  TestMonitors.cxx,NO_VALID
14
  TestPOVExporter.cxx,NO_VALID
15
  TestScalarsToColorsPainter.cxx
16
  TestSetImageOrientation.cxx
VTK Developers's avatar
VTK Developers committed
17
  TestTDx.cxx
18 19
  TestValuePainter.cxx,NO_VALID
  TestValuePasses.cxx
20
  TestRenderToImage.cxx
VTK Developers's avatar
VTK Developers committed
21
  )
Cory Quammen's avatar
Cory Quammen committed
22 23 24 25 26 27
vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
  TestScalarsToColorsPainterFieldDataCells,TestScalarsToColorsPainterFieldData.cxx -1
  )
vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
  TestScalarsToColorsPainterFieldDataTuple,TestScalarsToColorsPainterFieldData.cxx 50
  )
28 29 30 31 32 33
vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
  TestBlurAndSobelPasses.cxx
  #TestGaussianBlurPass.cxx # Missing symbol checking for Mesa bug
  TestLightActor.cxx
  TestSobelGradientMagnitudePass.cxx)
if(NOT APPLE)
34
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
35 36
    TestShadowMapPass.cxx)
endif()
Ken Martin's avatar
Ken Martin committed
37

38 39
if(WIN32 AND NOT VTK_USE_X)
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
40
    TestWin32OpenGLRenderWindow.cxx)
VTK Developers's avatar
VTK Developers committed
41
endif()
42

Ben Boeckel's avatar
Ben Boeckel committed
43
vtk_add_test_cxx(${vtk-module}CxxTests ogl_tests
44
  TestScenePicker.cxx,NO_VALID
Ken Martin's avatar
Ken Martin committed
45 46 47
  TestMultiblockDisplayProperties.cxx
  TestMultiTexturing.cxx
  TestMultiTexturingTransform.cxx)
VTK Developers's avatar
VTK Developers committed
48

49
set(VTK_USE_GLSL_SHADERS FALSE)
VTK Developers's avatar
VTK Developers committed
50 51
if(VTK_USE_GLSL_SHADERS)
  # Tests testing GLSL Shaders.
Ben Boeckel's avatar
Ben Boeckel committed
52
  vtk_add_test_cxx(${vtk-module}CxxTests glsl_tests
VTK Developers's avatar
VTK Developers committed
53 54 55 56
    TestGenericVertexAttributesGLSLCxx.cxx
    TestGenericVertexAttributesGLSLAlphaBlending.cxx
    TestGenericVertexAttributesGLSLDepthPeelingPass.cxx
    )
Ben Boeckel's avatar
Ben Boeckel committed
57 58
  list(APPEND ogl_tests
    ${glsl_tests})
VTK Developers's avatar
VTK Developers committed
59
endif()
60

Ben Boeckel's avatar
Ben Boeckel committed
61 62 63 64
set(all_tests
  ${render_window_tests}
  ${ogl_tests})
vtk_test_cxx_executable(${vtk-module}CxxTests all_tests)
65 66 67
# LoadOpenGLExtension and TestGenericVertexAttributesGLSLDepthPeelingPass
# requires OpenGL
vtk_opengl_link(${vtk-module}CxxTests)
Ken Martin's avatar
Ken Martin committed
68

69 70
if (WIN32 AND NOT VTK_USE_X)
  # This test should not take more than 5 seconds.
Ben Boeckel's avatar
Ben Boeckel committed
71
  set_tests_properties(${vtk-module}Cxx-TestWin32OpenGLRenderWindow
72 73 74 75
    PROPERTIES
      TIMEOUT 5)
endif ()

VTK Developers's avatar
VTK Developers committed
76
set(TEST_FBO_IMPLEMENTATION_EXE
77
  TestFBOImplementation)
VTK Developers's avatar
VTK Developers committed
78
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TestFBOInclude.h.in
79
  ${CMAKE_CURRENT_BINARY_DIR}/TestFBOInclude.h
80
  @ONLY ESCAPE_QUOTES)
81 82 83 84

# This is used by TestFBO. Using a separate processes makes is possible to
# avoid issues to OpenGL implementations segfaulting etc. from affecting the
# test.
VTK Developers's avatar
VTK Developers committed
85
vtk_module_test_executable(TestFBOImplementation
86
  TestFBOImplementation.cxx)
87
vtk_opengl_link(TestFBOImplementation)
88
target_link_libraries(TestFBOImplementation LINK_PRIVATE
89
                      vtkRenderingOpenGL)
90

Ken Martin's avatar
Ken Martin committed
91 92

# Add other odd tests or executables
VTK Developers's avatar
VTK Developers committed
93 94 95 96 97 98
foreach(exe
  TimeRenderer
  TimeRenderer2
  VTKBenchMark
  )
  add_executable(${exe} ${exe}.cxx)
99 100
  vtk_opengl_link(${exe})
  target_link_libraries(${exe} LINK_PRIVATE
101
    ${${vtk-module-test}-Cxx_LIBRARIES})
102
  if(APPLE AND NOT VTK_OPENGL_HAS_OSMESA)
103
    target_link_libraries(${exe} LINK_PRIVATE "-framework GLUT")
VTK Developers's avatar
VTK Developers committed
104 105
  endif()
endforeach()
106

107 108 109 110 111
if(VTK_USE_GLSL_SHADERS)
  set_tests_properties(
    ${vtk-module}Cxx-TestGenericVertexAttributesGLSLDepthPeelingPass
    PROPERTIES FAIL_REGULAR_EXPRESSION "ERROR:.*vtkOpenGLProperty.*Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.")
endif()