mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
1d1fd88554
A project that uses googletest(GTEST) shouldn't include googletest headers with its artifacts in its install target. These headers simply are not needed by the consumers of the install target and can cause conflicts with other projects that use googletest themselves and this project's install target. And they are just not part of the expected glslang build artifacts. It is likely that the addition of the googletest headers to the install target was a simple oversight that happens as a result of adding googletest as a CMake subdirectory. For more information on how this causes conflicts with other projects, please see: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/821.
45 lines
1.5 KiB
CMake
45 lines
1.5 KiB
CMake
# Suppress all warnings from external projects.
|
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w)
|
|
|
|
if(BUILD_TESTING)
|
|
if(TARGET gmock)
|
|
message(STATUS "Google Mock already configured - use it")
|
|
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
|
|
# We need to make sure Google Test does not mess up with the
|
|
# global CRT settings on Windows.
|
|
if(WIN32)
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
endif(WIN32)
|
|
# EXCLUDE_FROM_ALL keeps the install target from installing GTEST files.
|
|
add_subdirectory(googletest EXCLUDE_FROM_ALL)
|
|
set(GTEST_TARGETS
|
|
gtest
|
|
gtest_main
|
|
gmock
|
|
gmock_main)
|
|
foreach(target ${GTEST_TARGETS})
|
|
set_property(TARGET ${target} PROPERTY FOLDER gtest)
|
|
endforeach()
|
|
mark_as_advanced(gmock_build_tests
|
|
BUILD_GMOCK
|
|
BUILD_GTEST
|
|
BUILD_SHARED_LIBS
|
|
gtest_build_samples
|
|
gtest_build_tests
|
|
gtest_disable_pthreads
|
|
gtest_force_shared_crt
|
|
gtest_hide_internal_symbols)
|
|
else()
|
|
message(STATUS
|
|
"Google Mock was not found - tests based on that will not build")
|
|
endif()
|
|
endif()
|
|
|
|
if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt)
|
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
|
|
set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests")
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools)
|
|
endif()
|
|
endif()
|
|
|