Merge pull request #694 from mtavenrath/fix_origin_link
[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}/HexFloat.cpp
18     ${CMAKE_CURRENT_SOURCE_DIR}/Hlsl.FromFile.cpp
19     ${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.cpp
20     ${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.Vk.cpp
21     ${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
22     ${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp
23     # -- Remapper tests
24     ${CMAKE_CURRENT_SOURCE_DIR}/Remap.FromFile.cpp
25   )
26
27   add_executable(glslangtests ${TEST_SOURCES})
28   set_property(TARGET glslangtests PROPERTY FOLDER tests)
29   glslang_set_link_args(glslangtests)
30   install(TARGETS glslangtests
31         RUNTIME DESTINATION bin)
32
33   set(GLSLANG_TEST_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../Test")
34   # Supply a default test root directory, so that manual testing
35   # doesn't have to specify the --test-root option in the normal
36   # case that you want to use the tests from the same source tree.
37   target_compile_definitions(glslangtests
38     PRIVATE GLSLANG_TEST_DIRECTORY="${GLSLANG_TEST_DIRECTORY}")
39   target_include_directories(glslangtests PRIVATE
40     ${CMAKE_CURRENT_SOURCE_DIR}
41     ${PROJECT_SOURCE_DIR}
42     ${gmock_SOURCE_DIR}/include
43     ${gtest_SOURCE_DIR}/include)
44
45   set(LIBRARIES
46       SPVRemapper glslang OSDependent OGLCompiler glslang
47       SPIRV glslang-default-resource-limits)
48   if(ENABLE_HLSL)
49     set(LIBRARIES ${LIBRARIES} HLSL)
50   endif(ENABLE_HLSL)
51   target_link_libraries(glslangtests PRIVATE ${LIBRARIES} gmock)
52
53   add_test(NAME glslang-gtests
54     COMMAND glslangtests --test-root "${GLSLANG_TEST_DIRECTORY}")
55 endif()