Merge pull request #288 from thp/attribute-reflection
[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}/Hlsl.FromFile.cpp
17     ${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.cpp
18     ${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
19     ${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp
20   )
21
22   add_executable(glslangtests ${TEST_SOURCES})
23   set_property(TARGET glslangtests PROPERTY FOLDER tests)
24   install(TARGETS glslangtests
25         RUNTIME DESTINATION bin)
26
27   target_compile_definitions(glslangtests
28     PRIVATE GLSLANG_TEST_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/../Test")
29   target_include_directories(glslangtests PRIVATE
30     ${CMAKE_CURRENT_SOURCE_DIR}
31     ${PROJECT_SOURCE_DIR}
32     ${gmock_SOURCE_DIR}/include
33     ${gtest_SOURCE_DIR}/include)
34   target_link_libraries(glslangtests PRIVATE
35     glslang OSDependent OGLCompiler HLSL glslang
36     SPIRV glslang-default-resource-limits gmock)
37   add_test(NAME glslang-gtests COMMAND glslangtests)
38 endif()