CMakeLists.txt 3.41 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
foreach(exe
  TimeRenderer
  TimeRenderer2
  VTKBenchMark
  )
  add_executable(${exe} ${exe}.cxx)
  target_link_libraries(${exe}
    vtkRenderingOpenGL
93
    vtkRenderingFreeTypeOpenGL
VTK Developers's avatar
VTK Developers committed
94
95
96
    vtkInteractionStyle
    vtkImagingSources
    vtkImagingGeneral
97
    vtkFiltersSources
VTK Developers's avatar
VTK Developers committed
98
99
100
101
102
103
104
105
106
    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()
107

108
109
110
111
112
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()