Tests: Fix RunCMake.try_compile test for C standards with MSVC 19.27

Since commit f7347f28c7 (MSVC: Record support for C11 and c_restrict,
2020-08-09) we know about MSVC C language standards.  Update the
`RunCMake.try_compile` test to be aware of this even when CMake is
itself configured by an older CMake that does not know this.
This commit is contained in:
Brad King
2020-08-19 14:48:35 -04:00
parent 09e8de75d5
commit f4373feda8

View File

@@ -363,6 +363,15 @@ function(add_RunCMake_test_try_compile)
unset(CMAKE_CXX_STANDARD_DEFAULT)
endif()
endif()
if(CMAKE_VERSION VERSION_LESS 3.18.20200813 AND "x${CMAKE_C_COMPILER_ID}" STREQUAL "xMSVC")
# Older CMake versions do not know about MSVC language standards.
# Approximate our logic from MSVC-C.cmake.
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 19.27)
set(CMAKE_C_STANDARD_DEFAULT 99)
else()
set(CMAKE_C_STANDARD_DEFAULT "")
endif()
endif()
foreach(var
CMAKE_SYSTEM_NAME
CMAKE_C_COMPILER_ID