diff options
-rw-r--r-- | Help/release/3.18.rst | 13 | ||||
-rw-r--r-- | Modules/Compiler/MSVC-C-FeatureTests.cmake | 4 | ||||
-rw-r--r-- | Modules/Compiler/MSVC-C.cmake | 4 |
3 files changed, 15 insertions, 6 deletions
diff --git a/Help/release/3.18.rst b/Help/release/3.18.rst index f199244..099e9b5 100644 --- a/Help/release/3.18.rst +++ b/Help/release/3.18.rst @@ -265,8 +265,9 @@ Other environment variable to customize colors. * The :manual:`Compile Features <cmake-compile-features(7)>` functionality - is now aware of the availability of C11 features in MSVC 19.27 and above, - including support for the ``c_restrict`` feature and the ``-std:c11`` flag. + is now aware of the availability of C11 features in MSVC 19.27 and 19.28, + including support for the ``c_restrict``, ``c_static_assert`` features and + the ``-std:c11`` flag. Deprecated and Removed Features =============================== @@ -353,4 +354,10 @@ Changes made since CMake 3.18.0 include the following. This restores compatibility with behavior of CMake 3.15 and below. * The :manual:`Compile Features <cmake-compile-features(7)>` functionality - was updated for MSVC 19.27 as mentioned above. + was updated for MSVC 19.27 as mentioned above (``c_restrict``). + +3.18.3 +------ + +* The :manual:`Compile Features <cmake-compile-features(7)>` functionality + was updated for MSVC 19.28 as mentioned above (``c_static_assert``). diff --git a/Modules/Compiler/MSVC-C-FeatureTests.cmake b/Modules/Compiler/MSVC-C-FeatureTests.cmake index 862bff3..4024c12 100644 --- a/Modules/Compiler/MSVC-C-FeatureTests.cmake +++ b/Modules/Compiler/MSVC-C-FeatureTests.cmake @@ -1,9 +1,7 @@ set(_cmake_oldestSupported "_MSC_VER >= 1600") -# Not yet supported: -#set(_cmake_feature_test_c_static_assert "") - set(_cmake_feature_test_c_restrict "_MSC_VER >= 1927") +set(_cmake_feature_test_c_static_assert "_MSC_VER >= 1928") set(_cmake_feature_test_c_variadic_macros "${_cmake_oldestSupported}") set(_cmake_feature_test_c_function_prototypes "${_cmake_oldestSupported}") diff --git a/Modules/Compiler/MSVC-C.cmake b/Modules/Compiler/MSVC-C.cmake index a05e6a0..31ae7fd 100644 --- a/Modules/Compiler/MSVC-C.cmake +++ b/Modules/Compiler/MSVC-C.cmake @@ -51,6 +51,10 @@ macro(cmake_record_c_compile_features) list(APPEND CMAKE_C_COMPILE_FEATURES c_restrict) list(APPEND CMAKE_C99_COMPILE_FEATURES c_restrict) endif() + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.28) + list(APPEND CMAKE_C_COMPILE_FEATURES c_static_assert) + list(APPEND CMAKE_C11_COMPILE_FEATURES c_static_assert) + endif() set(_result 0) # expected by cmake_determine_compile_features endmacro() |