mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-04 09:24:04 +00:00
1d3a966106
The gtest executable accepts a --test-root option to specify a root directory for test files. It defaults to the Test directory in the source tree from which the executable is built. For example, this lets us run test exectuables built with MinGW on Linux on a Windows machine with its own copy of the source tree.
49 lines
1.9 KiB
CMake
49 lines
1.9 KiB
CMake
if (TARGET gmock)
|
|
message(STATUS "Google Mock found - building tests")
|
|
|
|
set(TEST_SOURCES
|
|
# Framework related source files
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Initializer.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Settings.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Settings.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/TestFixture.h
|
|
|
|
# Test related source files
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AST.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/BuiltInResource.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Config.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/HexFloat.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Hlsl.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Link.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp
|
|
# -- Remapper tests
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Remap.FromFile.cpp
|
|
)
|
|
|
|
add_executable(glslangtests ${TEST_SOURCES})
|
|
set_property(TARGET glslangtests PROPERTY FOLDER tests)
|
|
glslang_set_link_args(glslangtests)
|
|
install(TARGETS glslangtests
|
|
RUNTIME DESTINATION bin)
|
|
|
|
set(GLSLANG_TEST_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../Test")
|
|
# Supply a default test root directory, so that manual testing
|
|
# doesn't have to specify the --test-root option in the normal
|
|
# case that you want to use the tests from the same source tree.
|
|
target_compile_definitions(glslangtests
|
|
PRIVATE GLSLANG_TEST_DIRECTORY="${GLSLANG_TEST_DIRECTORY}")
|
|
target_include_directories(glslangtests PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${PROJECT_SOURCE_DIR}
|
|
${gmock_SOURCE_DIR}/include
|
|
${gtest_SOURCE_DIR}/include)
|
|
target_link_libraries(glslangtests PRIVATE
|
|
SPVRemapper glslang OSDependent OGLCompiler HLSL glslang
|
|
SPIRV glslang-default-resource-limits gmock)
|
|
add_test(NAME glslang-gtests
|
|
COMMAND glslangtests --test-root "${GLSLANG_TEST_DIRECTORY}")
|
|
endif()
|