blob: a06442dfb0f4e43e8f976d2bd2b7c6493ba862fe [file] [log] [blame]
Lei Zhang414eb602016-03-04 16:22:34 -05001if (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
Lei Zhang1b141722016-05-19 13:50:49 -040016 ${CMAKE_CURRENT_SOURCE_DIR}/Config.FromFile.cpp
Rex Xuc9e3c3c2016-07-29 16:00:05 +080017 ${CMAKE_CURRENT_SOURCE_DIR}/HexFloat.cpp
Lei Zhangd6f0ed22016-05-16 12:50:30 -040018 ${CMAKE_CURRENT_SOURCE_DIR}/Hlsl.FromFile.cpp
Lei Zhang2f1ee452016-05-17 23:03:28 -040019 ${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.cpp
Lei Zhang414eb602016-03-04 16:22:34 -050020 ${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
21 ${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp
steve-lunarg65564a42016-09-02 09:21:12 -060022 # -- Remapper tests
23 ${CMAKE_CURRENT_SOURCE_DIR}/Remap.FromFile.cpp
Lei Zhang414eb602016-03-04 16:22:34 -050024 )
25
26 add_executable(glslangtests ${TEST_SOURCES})
Andrew Woloszyndb0eaf92016-05-05 14:45:53 -040027 set_property(TARGET glslangtests PROPERTY FOLDER tests)
David Netob37dc0e2016-06-02 14:37:24 -040028 glslang_set_link_args(glslangtests)
Andrew Woloszyn0b887d02016-05-05 14:58:26 -040029 install(TARGETS glslangtests
30 RUNTIME DESTINATION bin)
31
David Neto1d3a9662016-10-05 10:25:09 -040032 set(GLSLANG_TEST_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../Test")
33 # Supply a default test root directory, so that manual testing
34 # doesn't have to specify the --test-root option in the normal
35 # case that you want to use the tests from the same source tree.
Lei Zhang414eb602016-03-04 16:22:34 -050036 target_compile_definitions(glslangtests
David Neto1d3a9662016-10-05 10:25:09 -040037 PRIVATE GLSLANG_TEST_DIRECTORY="${GLSLANG_TEST_DIRECTORY}")
Lei Zhang414eb602016-03-04 16:22:34 -050038 target_include_directories(glslangtests PRIVATE
39 ${CMAKE_CURRENT_SOURCE_DIR}
40 ${PROJECT_SOURCE_DIR}
41 ${gmock_SOURCE_DIR}/include
42 ${gtest_SOURCE_DIR}/include)
John Kessenichdc1a8192017-01-11 14:50:16 -070043
44 set(LIBRARIES
45 SPVRemapper glslang OSDependent OGLCompiler glslang
46 SPIRV glslang-default-resource-limits)
47 if(ENABLE_HLSL)
48 set(LIBRARIES ${LIBRARIES} HLSL)
49 endif(ENABLE_HLSL)
50 target_link_libraries(glslangtests PRIVATE ${LIBRARIES} gmock)
51
David Neto1d3a9662016-10-05 10:25:09 -040052 add_test(NAME glslang-gtests
John Kessenichdc1a8192017-01-11 14:50:16 -070053 COMMAND glslangtests --test-root "${GLSLANG_TEST_DIRECTORY}")
Lei Zhang414eb602016-03-04 16:22:34 -050054endif()