mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-10 04:20:06 +00:00
04567eb232
There is a flag to disable the SPVRemapper during the GLSLang build. That flag is check in some, but not all spots so if you try to build with SPVRemapper disabled you get CMake errors and compile errors. This CL fixs up the build so building with -DENABLE_SPVREMAPPER=0 will complete correclty.
70 lines
2.9 KiB
CMake
70 lines
2.9 KiB
CMake
if(BUILD_TESTING)
|
|
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}/Link.FromFile.Vk.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Pp.FromFile.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Spv.FromFile.cpp)
|
|
|
|
if(ENABLE_SPVREMAPPER)
|
|
set(TEST_SOURCES ${TEST_SOURCES}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Remap.FromFile.cpp)
|
|
endif()
|
|
|
|
glslang_pch(TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/pch.cpp)
|
|
|
|
add_executable(glslangtests ${TEST_SOURCES})
|
|
set_property(TARGET glslangtests PROPERTY FOLDER tests)
|
|
glslang_set_link_args(glslangtests)
|
|
if(ENABLE_GLSLANG_INSTALL)
|
|
install(TARGETS glslangtests EXPORT glslangtestsTargets
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
install(EXPORT glslangtestsTargets DESTINATION lib/cmake)
|
|
endif(ENABLE_GLSLANG_INSTALL)
|
|
|
|
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)
|
|
|
|
set(LIBRARIES
|
|
glslang OSDependent OGLCompiler glslang
|
|
SPIRV glslang-default-resource-limits)
|
|
|
|
if(ENABLE_SPVREMAPPER)
|
|
set(LIBRARIES ${LIBRARIES} SPVRemapper)
|
|
endif()
|
|
|
|
if(ENABLE_HLSL)
|
|
set(LIBRARIES ${LIBRARIES} HLSL)
|
|
endif(ENABLE_HLSL)
|
|
target_link_libraries(glslangtests PRIVATE ${LIBRARIES} gmock)
|
|
|
|
add_test(NAME glslang-gtests
|
|
COMMAND glslangtests --test-root "${GLSLANG_TEST_DIRECTORY}")
|
|
endif()
|
|
endif()
|