CMakeLists.txt 3.04 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
  TestSetImageOrientation.cxx
VTK Developers's avatar
VTK Developers committed
14
15
  TestTDx.cxx
  )
16
17
18
19
20
21
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)
22
  vtk_add_test_cxx(${vtk-module}CxxTests render_window_tests
23
24
    TestShadowMapPass.cxx)
endif()
Ken Martin's avatar
Ken Martin committed
25

26
27
28
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
29
endif()
30

31
32
include_directories(${OPENGL_INCLUDE_DIR})

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

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

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

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

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

VTK Developers's avatar
VTK Developers committed
70
if(VTK_OPENGL_HAS_OSMESA AND OSMESA_LIBRARY)
71
72
  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
73
endif()
Ken Martin's avatar
Ken Martin committed
74
75

# Add other odd tests or executables
VTK Developers's avatar
VTK Developers committed
76
77
78
79
80
81
82
83
foreach(exe
  TimeRenderer
  TimeRenderer2
  VTKBenchMark
  )
  add_executable(${exe} ${exe}.cxx)
  target_link_libraries(${exe}
    vtkRenderingOpenGL
84
    vtkRenderingFreeTypeOpenGL
VTK Developers's avatar
VTK Developers committed
85
86
87
    vtkInteractionStyle
    vtkImagingSources
    vtkImagingGeneral
88
    vtkFiltersSources
VTK Developers's avatar
VTK Developers committed
89
90
91
92
93
94
95
96
97
    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()
98

99
100
101
102
103
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()