summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorChuck Atkins <chuck.atkins@kitware.com>2017-05-01 17:02:19 (GMT)
committerChuck Atkins <chuck.atkins@kitware.com>2017-05-02 13:49:23 (GMT)
commit08fa2ba8d0682e0c9c307b572afbcee05cc93477 (patch)
tree38dbe1e99f3b3c6abacb8f391a0957cd0d9b1e55 /Modules
parent0198502ff4fa3dec9cbd3249f6f458f53a8087f3 (diff)
downloadCMake-08fa2ba8d0682e0c9c307b572afbcee05cc93477.zip
CMake-08fa2ba8d0682e0c9c307b572afbcee05cc93477.tar.gz
CMake-08fa2ba8d0682e0c9c307b572afbcee05cc93477.tar.bz2
Clang: Use common compiler macros for language standard default
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Compiler/Clang-C.cmake16
-rw-r--r--Modules/Compiler/Clang-CXX.cmake12
-rw-r--r--Modules/Compiler/Clang.cmake2
3 files changed, 4 insertions, 26 deletions
diff --git a/Modules/Compiler/Clang-C.cmake b/Modules/Compiler/Clang-C.cmake
index bcd9218..b94087f 100644
--- a/Modules/Compiler/Clang-C.cmake
+++ b/Modules/Compiler/Clang-C.cmake
@@ -17,21 +17,7 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
endif()
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
- if (NOT CMAKE_C_COMPILER_FORCED)
- if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
- message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
- endif()
- set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
- elseif(NOT DEFINED CMAKE_C_STANDARD_DEFAULT)
- # Compiler id was forced so just guess the default standard level.
- if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6)
- set(CMAKE_C_STANDARD_DEFAULT 11)
- else()
- set(CMAKE_C_STANDARD_DEFAULT 99)
- endif()
- endif()
-endif()
+__compiler_check_default_language_standard(C 3.4 99 3.6 11)
macro(cmake_record_c_compile_features)
set(_result 0)
diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index 8ed3695..5904efa 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -36,17 +36,7 @@ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
endif()
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
- if (NOT CMAKE_CXX_COMPILER_FORCED)
- if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
- message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
- endif()
- set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
- elseif(NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT)
- # Compiler id was forced so just guess the default standard level.
- set(CMAKE_CXX_STANDARD_DEFAULT 98)
- endif()
-endif()
+__compiler_check_default_language_standard(CXX 3.1 98)
macro(cmake_record_cxx_compile_features)
set(_result 0)
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake
index 8c2f87d..ef7ff2e 100644
--- a/Modules/Compiler/Clang.cmake
+++ b/Modules/Compiler/Clang.cmake
@@ -8,6 +8,8 @@ if(__COMPILER_CLANG)
endif()
set(__COMPILER_CLANG 1)
+include(Compiler/CMakeCommonCompilerMacros)
+
if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
macro(__compiler_clang lang)