summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2017-05-25 22:20:34 (GMT)
committerDaniel Pfeifer <daniel@pfeifer-mail.de>2017-05-26 06:21:50 (GMT)
commitfc51b92c802f64dc028cf99f4caa879b1571773a (patch)
tree5057bf741cc911d5f9f332458265573dd09e1974
parent048f0065bf7f76d2c58bb5a0ec4e6cd7bd965dd3 (diff)
downloadCMake-fc51b92c802f64dc028cf99f4caa879b1571773a.zip
CMake-fc51b92c802f64dc028cf99f4caa879b1571773a.tar.gz
CMake-fc51b92c802f64dc028cf99f4caa879b1571773a.tar.bz2
Intel: avoid variables in language standard flags
In the bootstrap script, we want to be able to extract language standard flags using sed. Make sure the content of the flag varianbles can be passed unmodified to the compiler.
-rw-r--r--Modules/Compiler/Intel-C.cmake30
-rw-r--r--Modules/Compiler/Intel-CXX.cmake50
2 files changed, 44 insertions, 36 deletions
diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake
index d583dba..20e29e2 100644
--- a/Modules/Compiler/Intel-C.cmake
+++ b/Modules/Compiler/Intel-C.cmake
@@ -8,30 +8,34 @@ string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <OBJECT> -MF <DEPFILE>")
if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
- set(_std -Qstd)
- set(_ext c)
+
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 16.0.0)
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-Qstd=c11")
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-Qstd=c11")
endif()
+
+ if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
+ set(CMAKE_C90_STANDARD_COMPILE_OPTION "-Qstd=c89")
+ set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-Qstd=c89")
+ set(CMAKE_C99_STANDARD_COMPILE_OPTION "-Qstd=c99")
+ set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-Qstd=c99")
+ endif()
+
else()
- set(_std -std)
- set(_ext gnu)
+
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
endif()
-endif()
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
- set(CMAKE_C90_STANDARD_COMPILE_OPTION "${_std}=c89")
- set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=${_ext}89")
- set(CMAKE_C99_STANDARD_COMPILE_OPTION "${_std}=c99")
- set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=${_ext}99")
-endif()
+ if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
+ set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
+ set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
+ set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
+ set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+ endif()
-unset(_std)
-unset(_ext)
+endif()
__compiler_check_default_language_standard(C 12.1 90 15.0.0 11)
diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake
index 4aef30a..08d23fc 100644
--- a/Modules/Compiler/Intel-CXX.cmake
+++ b/Modules/Compiler/Intel-CXX.cmake
@@ -8,16 +8,27 @@ string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <OBJECT> -MF <DEPFILE>")
if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
- set(_std -Qstd)
- set(_ext c++)
+
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.0)
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-Qstd=c++14")
- # todo: there is no gnu++14 value supported; figure out what to do
set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-Qstd=c++14")
endif()
+
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-Qstd=c++11")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-Qstd=c++11")
+ elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-Qstd=c++0x")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-Qstd=c++0x")
+ endif()
+
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+ set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+ set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+ endif()
+
else()
- set(_std -std)
- set(_ext gnu++)
+
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2)
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
# todo: there is no gnu++14 value supported; figure out what to do
@@ -27,28 +38,21 @@ else()
# todo: there is no gnu++14 value supported; figure out what to do
set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++1y")
endif()
-endif()
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
- set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++11")
- set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "${_std}=${_ext}11")
-elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
- set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++0x")
- set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "${_std}=${_ext}0x")
-endif()
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0)
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+ elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
+ endif()
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
- if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
- set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
- set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
- else()
- set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "${_std}=c++98")
- set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "${_std}=gnu++98")
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
+ set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+ set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
endif()
-endif()
-unset(_std)
-unset(_ext)
+endif()
__compiler_check_default_language_standard(CXX 12.1 98)