summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-04-17 14:58:18 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-04-17 14:58:49 (GMT)
commit5cd187147ecbd29a0afc5a6b49f2232b61a1ab8c (patch)
tree2bd1b16ac3aea1b4fe390d8c3bf7de0a29e1d728 /Modules/Compiler
parent0238295c7e9d19340e968b766d6d0cf07fc5af50 (diff)
parent8e4899fd6cb3518723710f7ba57d28ef058518c0 (diff)
downloadCMake-5cd187147ecbd29a0afc5a6b49f2232b61a1ab8c.zip
CMake-5cd187147ecbd29a0afc5a6b49f2232b61a1ab8c.tar.gz
CMake-5cd187147ecbd29a0afc5a6b49f2232b61a1ab8c.tar.bz2
Merge topic 'memorize_msvc_like_compilers_C_support'
8e4899fd6c CompileFeatures: Record which C features the MSVC compiler supports Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3226
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/Clang-C.cmake3
-rw-r--r--Modules/Compiler/MSVC-C.cmake10
2 files changed, 10 insertions, 3 deletions
diff --git a/Modules/Compiler/Clang-C.cmake b/Modules/Compiler/Clang-C.cmake
index ff51d30..0448965 100644
--- a/Modules/Compiler/Clang-C.cmake
+++ b/Modules/Compiler/Clang-C.cmake
@@ -23,12 +23,15 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
# clang-cl doesn't have any of these
set(CMAKE_C90_STANDARD_COMPILE_OPTION "")
set(CMAKE_C90_EXTENSION_COMPILE_OPTION "")
+ set(CMAKE_C90_STANDARD__HAS_FULL_SUPPORT ON)
set(CMAKE_C99_STANDARD_COMPILE_OPTION "")
set(CMAKE_C99_EXTENSION_COMPILE_OPTION "")
+ set(CMAKE_C99_STANDARD__HAS_FULL_SUPPORT ON)
set(CMAKE_C11_STANDARD_COMPILE_OPTION "")
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "")
+ set(CMAKE_C11_STANDARD__HAS_FULL_SUPPORT ON)
endif()
endif()
diff --git a/Modules/Compiler/MSVC-C.cmake b/Modules/Compiler/MSVC-C.cmake
index 22c34f8..a722130 100644
--- a/Modules/Compiler/MSVC-C.cmake
+++ b/Modules/Compiler/MSVC-C.cmake
@@ -11,8 +11,8 @@ set(CMAKE_C11_EXTENSION_COMPILE_OPTION "")
# There is no meaningful default for this
set(CMAKE_C_STANDARD_DEFAULT "")
-# There are no C compiler modes so we only need to test features once.
-# Override the default macro for this special case. Pretend that
+# There are no C compiler modes so we hard-code the known compiler supported
+# features. Override the default macro for this special case. Pretend that
# all language standards are available so that at least compilation
# can be attempted.
macro(cmake_record_c_compile_features)
@@ -20,6 +20,10 @@ macro(cmake_record_c_compile_features)
c_std_90
c_std_99
c_std_11
+ c_function_prototypes
+ c_variadic_macros
)
- _record_compiler_features(C "" CMAKE_C_COMPILE_FEATURES)
+ list(APPEND CMAKE_C90_COMPILE_FEATURES c_std_90 c_function_prototypes)
+ list(APPEND CMAKE_C99_COMPILE_FEATURES c_std_99 c_variadic_macros)
+ list(APPEND CMAKE_C11_COMPILE_FEATURES c_std_11)
endmacro()