CMakeLists.txt 3.38 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
  )
Cory Quammen's avatar
Cory Quammen committed
19
20
21
22
23
24
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
  )
25
26
27
28
29
30
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)
31
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
32
33
    TestShadowMapPass.cxx)
endif()
Ken Martin's avatar
Ken Martin committed
34

35
36
37
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
38
endif()
39

40
41
include_directories(${OPENGL_INCLUDE_DIR})

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

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

Ben Boeckel's avatar
Ben Boeckel committed
60
61
62
63
set(all_tests
  ${render_window_tests}
  ${ogl_tests})
vtk_test_cxx_executable(${vtk-module}CxxTests all_tests)
Ken Martin's avatar
Ken Martin committed
64

VTK Developers's avatar
VTK Developers committed
65
set(TEST_FBO_IMPLEMENTATION_EXE
66
  TestFBOImplementation)
VTK Developers's avatar
VTK Developers committed
67
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TestFBOInclude.h.in
68
  ${CMAKE_CURRENT_BINARY_DIR}/TestFBOInclude.h
69
  @ONLY ESCAPE_QUOTES)
70
71
72
73

# 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
74
vtk_module_test_executable(TestFBOImplementation
75
  TestFBOImplementation.cxx)
76
target_link_libraries(TestFBOImplementation LINK_PRIVATE
VTK Developers's avatar
VTK Developers committed
77
  vtkRenderingOpenGL ${OPENGL_gl_LIBRARY})
78

VTK Developers's avatar
VTK Developers committed
79
if(VTK_OPENGL_HAS_OSMESA AND OSMESA_LIBRARY)
80
81
  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
82
endif()
Ken Martin's avatar
Ken Martin committed
83
84

# Add other odd tests or executables
VTK Developers's avatar
VTK Developers committed
85
86
87
88
89
90
91
92
93
94
95
foreach(exe
  TimeRenderer
  TimeRenderer2
  VTKBenchMark
  )
  add_executable(${exe} ${exe}.cxx)
  target_link_libraries(${exe}
    vtkRenderingOpenGL
    vtkInteractionStyle
    vtkImagingSources
    vtkImagingGeneral
96
    vtkFiltersSources
VTK Developers's avatar
VTK Developers committed
97
98
99
100
101
102
103
104
105
    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()
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()