Merge pull request #473 from steve-lunarg/remapper-tests
[platform/upstream/glslang.git] / gtests / CMakeLists.txt
1 if (TARGET gmock)
2   message(STATUS "Google Mock found - building tests")
3
4   set(TEST_SOURCES
5     # Framework related source files
6     ${CMAKE_CURRENT_SOURCE_DIR}/Initializer.h
7     ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
8     ${CMAKE_CURRENT_SOURCE_DIR}/Settings.cpp
9     ${CMAKE_CURRENT_SOURCE_DIR}/Settings.h
10     ${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.cpp
11     ${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.h
12
13     # Test related source files
14     ${CMAKE_CURRENT_SOURCE_DIR}/AST.FromFile.cpp
15     ${CMAKE_CURRENT_SOURCE_DIR}/BuiltInResource.FromFile.cpp
16     ${CMAKE_CURRENT_SOURCE_DIR}/Config.FromFile.cpp
17     ${CMAKE_CURRENT_SOURCE_DIR}/Hlsl.FromFile.cpp
18     ${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.cpp
19     ${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
20     ${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp
21   )
22
23   add_executable(glslangtests ${TEST_SOURCES})
24   set_property(TARGET glslangtests PROPERTY FOLDER tests)
25   glslang_set_link_args(glslangtests)
26   install(TARGETS glslangtests
27         RUNTIME DESTINATION bin)
28
29   target_compile_definitions(glslangtests
30     PRIVATE GLSLANG_TEST_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/../Test")
31   target_include_directories(glslangtests PRIVATE
32     ${CMAKE_CURRENT_SOURCE_DIR}
33     ${PROJECT_SOURCE_DIR}
34     ${gmock_SOURCE_DIR}/include
35     ${gtest_SOURCE_DIR}/include)
36   target_link_libraries(glslangtests PRIVATE
37     glslang OSDependent OGLCompiler HLSL glslang
38     SPIRV glslang-default-resource-limits gmock)
39   add_test(NAME glslang-gtests COMMAND glslangtests)
40
41   # -- Remapper tests
42   set(REMAPPER_TEST_SOURCES
43     # Framework related source files
44     ${CMAKE_CURRENT_SOURCE_DIR}/Initializer.h
45     ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
46     ${CMAKE_CURRENT_SOURCE_DIR}/Settings.cpp
47     ${CMAKE_CURRENT_SOURCE_DIR}/Settings.h
48     ${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.cpp
49     ${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.h
50
51     # Test related source files
52     ${CMAKE_CURRENT_SOURCE_DIR}/Remap.FromFile.cpp
53   )
54
55   add_executable(remappertests ${REMAPPER_TEST_SOURCES})
56   set_property(TARGET remappertests PROPERTY FOLDER tests)
57   glslang_set_link_args(remappertests)
58   install(TARGETS remappertests
59         RUNTIME DESTINATION bin)
60
61   target_compile_definitions(remappertests
62     PRIVATE GLSLANG_TEST_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/../Test")
63   target_include_directories(remappertests PRIVATE
64     ${CMAKE_CURRENT_SOURCE_DIR}
65     ${PROJECT_SOURCE_DIR}
66     ${gmock_SOURCE_DIR}/include
67     ${gtest_SOURCE_DIR}/include)
68   target_link_libraries(remappertests PRIVATE
69     SPVRemapper
70     glslang OSDependent OGLCompiler HLSL glslang
71     SPIRV glslang-default-resource-limits gmock)
72   add_test(NAME remapper-gtests COMMAND remappertests)
73 endif()