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

VTK Developers's avatar
VTK Developers committed
6
# For tests that actually use a vtkRenderWindow
Ben Boeckel's avatar
Ben Boeckel committed
7
vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
VTK Developers's avatar
VTK Developers committed
8
  LoadOpenGLExtension.cxx
9
10
  TestFBO.cxx,NO_VALID
  TestGPUInfo.cxx,NO_VALID
11
  TestMonitors.cxx,NO_VALID
12
  TestPOVExporter.cxx,NO_VALID
13
  TestScalarsToColorsPainter.cxx
14
  TestSetImageOrientation.cxx
VTK Developers's avatar
VTK Developers committed
15
  TestTDx.cxx
16
17
  TestValuePainter.cxx,NO_VALID
  TestValuePasses.cxx
VTK Developers's avatar
VTK Developers committed
18
  )
19
20
21
22
23
24
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)
25
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
26
27
    TestShadowMapPass.cxx)
endif()
Ken Martin's avatar
Ken Martin committed
28

29
30
31
if(WIN32 AND NOT VTK_USE_X)
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
    TestWin32OpenGLRenderWindow.cxx NO_VALID)
VTK Developers's avatar
VTK Developers committed
32
endif()
33

34
35
include_directories(${OPENGL_INCLUDE_DIR})

Ben Boeckel's avatar
Ben Boeckel committed
36
vtk_add_test_cxx(${vtk-module}CxxTests ogl_tests
37
  TestScenePicker.cxx,NO_VALID
Ken Martin's avatar
Ken Martin committed
38
39
40
  TestMultiblockDisplayProperties.cxx
  TestMultiTexturing.cxx
  TestMultiTexturingTransform.cxx)
VTK Developers's avatar
VTK Developers committed
41

42
set(VTK_USE_GLSL_SHADERS FALSE)
VTK Developers's avatar
VTK Developers committed
43
44
if(VTK_USE_GLSL_SHADERS)
  # Tests testing GLSL Shaders.
Ben Boeckel's avatar
Ben Boeckel committed
45
  vtk_add_test_cxx(${vtk-module}CxxTests glsl_tests
VTK Developers's avatar
VTK Developers committed
46
47
48
49
    TestGenericVertexAttributesGLSLCxx.cxx
    TestGenericVertexAttributesGLSLAlphaBlending.cxx
    TestGenericVertexAttributesGLSLDepthPeelingPass.cxx
    )
Ben Boeckel's avatar
Ben Boeckel committed
50
51
  list(APPEND ogl_tests
    ${glsl_tests})
VTK Developers's avatar
VTK Developers committed
52
endif()
53

Ben Boeckel's avatar
Ben Boeckel committed
54
55
56
57
set(all_tests
  ${render_window_tests}
  ${ogl_tests})
vtk_test_cxx_executable(${vtk-module}CxxTests all_tests)
Ken Martin's avatar
Ken Martin committed
58

VTK Developers's avatar
VTK Developers committed
59
set(TEST_FBO_IMPLEMENTATION_EXE
60
  TestFBOImplementation)
VTK Developers's avatar
VTK Developers committed
61
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TestFBOInclude.h.in
62
  ${CMAKE_CURRENT_BINARY_DIR}/TestFBOInclude.h
63
  @ONLY ESCAPE_QUOTES)
64
65
66
67

# 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
68
vtk_module_test_executable(TestFBOImplementation
69
  TestFBOImplementation.cxx)
70
target_link_libraries(TestFBOImplementation LINK_PRIVATE
VTK Developers's avatar
VTK Developers committed
71
  vtkRenderingOpenGL ${OPENGL_gl_LIBRARY})
72

VTK Developers's avatar
VTK Developers committed
73
if(VTK_OPENGL_HAS_OSMESA AND OSMESA_LIBRARY)
74
75
  target_link_libraries(TestFBOImplementation LINK_PRIVATE ${OSMESA_LIBRARY})
  target_link_libraries(${vtk-module}CxxTests LINK_PRIVATE ${OSMESA_LIBRARY})
VTK Developers's avatar
VTK Developers committed
76
endif()
Ken Martin's avatar
Ken Martin committed
77
78

# Add other odd tests or executables
VTK Developers's avatar
VTK Developers committed
79
80
81
82
83
84
85
86
foreach(exe
  TimeRenderer
  TimeRenderer2
  VTKBenchMark
  )
  add_executable(${exe} ${exe}.cxx)
  target_link_libraries(${exe}
    vtkRenderingOpenGL
87
    vtkRenderingFreeTypeOpenGL
VTK Developers's avatar
VTK Developers committed
88
89
90
    vtkInteractionStyle
    vtkImagingSources
    vtkImagingGeneral
91
    vtkFiltersSources
VTK Developers's avatar
VTK Developers committed
92
93
94
95
96
97
98
99
100
    vtkIOCore
    ${OPENGL_gl_LIBRARY})
  if(APPLE)
    target_link_libraries(${exe} "-framework GLUT")
  endif()
  if(VTK_OPENGL_HAS_OSMESA AND OSMESA_LIBRARY)
    target_link_libraries(${exe} ${OSMESA_LIBRARY})
  endif()
endforeach()
101

102
103
104
105
106
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()