summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-08-19 14:48:35 -0400
committerBrad King <brad.king@kitware.com>2020-08-19 14:52:52 -0400
commitf4373feda85fd63b80dd357d896e23bd001578df (patch)
tree7872a3757ced2279b97d7d63c70a354c8b0bb069
parent09e8de75d5997ad2a57049426c5dc3b9238e2d34 (diff)
downloadcmake-f4373feda85fd63b80dd357d896e23bd001578df.tar.gz
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.
-rw-r--r--Tests/RunCMake/CMakeLists.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 5d005540d8..470f30291d 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -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