diff options
author | Brad King <brad.king@kitware.com> | 2016-07-05 17:23:39 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-07-05 17:58:42 (GMT) |
commit | f9dbe22ca273501cf6d50585211c9d18a0e15f97 (patch) | |
tree | b1f931ddcdbbc5f981e21422fd9f7774afbc43c5 /Modules/Compiler | |
parent | 5a3ed0d780edde72877e462bc9c3d10017c904f9 (diff) | |
download | CMake-f9dbe22ca273501cf6d50585211c9d18a0e15f97.zip CMake-f9dbe22ca273501cf6d50585211c9d18a0e15f97.tar.gz CMake-f9dbe22ca273501cf6d50585211c9d18a0e15f97.tar.bz2 |
Intel: Do not use GNU-like flags on Windows
Refactor options out of `Modules/Compiler/Intel-{ASM,C,CXX,Fortran}.cmake`
into a common helper in `Modules/Compiler/Intel.cmake`. Condition
them to be used only on non-Windows hosts where the Intel compiler
is GNU-like instead of MSVC-like.
Previously this worked only because the options were later overridden
by `Modules/Platform/Windows-Intel*.cmake`, but it is cleaner to not
set the options in the first place.
Diffstat (limited to 'Modules/Compiler')
-rw-r--r-- | Modules/Compiler/Intel-ASM.cmake | 11 | ||||
-rw-r--r-- | Modules/Compiler/Intel-C.cmake | 11 | ||||
-rw-r--r-- | Modules/Compiler/Intel-CXX.cmake | 11 | ||||
-rw-r--r-- | Modules/Compiler/Intel-Fortran.cmake | 9 | ||||
-rw-r--r-- | Modules/Compiler/Intel.cmake | 36 |
5 files changed, 54 insertions, 24 deletions
diff --git a/Modules/Compiler/Intel-ASM.cmake b/Modules/Compiler/Intel-ASM.cmake index 74ceb0a..c2bf465 100644 --- a/Modules/Compiler/Intel-ASM.cmake +++ b/Modules/Compiler/Intel-ASM.cmake @@ -1,10 +1,9 @@ -set(CMAKE_ASM_VERBOSE_FLAG "-v") +include(Compiler/Intel) +__compiler_intel(ASM) -set(CMAKE_ASM_FLAGS_INIT "") -set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g") -set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") -set(CMAKE_ASM_FLAGS_RELEASE_INIT "-O3 -DNDEBUG") -set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG") +string(APPEND CMAKE_ASM_FLAGS_MINSIZEREL_INIT " -DNDEBUG") +string(APPEND CMAKE_ASM_FLAGS_RELEASE_INIT " -DNDEBUG") +string(APPEND CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG") if(UNIX) set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S) diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake index eb9602a..cf366da 100644 --- a/Modules/Compiler/Intel-C.cmake +++ b/Modules/Compiler/Intel-C.cmake @@ -1,10 +1,9 @@ -set(CMAKE_C_VERBOSE_FLAG "-v") +include(Compiler/Intel) +__compiler_intel(C) -set(CMAKE_C_FLAGS_INIT "") -set(CMAKE_C_FLAGS_DEBUG_INIT "-g") -set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") -set(CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG") -set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG") +string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG") +string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG") +string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG") set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <OBJECT> -MF <DEPFILE>") diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake index 369e041..3cc4503 100644 --- a/Modules/Compiler/Intel-CXX.cmake +++ b/Modules/Compiler/Intel-CXX.cmake @@ -1,10 +1,9 @@ -set(CMAKE_CXX_VERBOSE_FLAG "-v") +include(Compiler/Intel) +__compiler_intel(CXX) -set(CMAKE_CXX_FLAGS_INIT "") -set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g") -set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") -set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG") +string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG") +string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG") +string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG") set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <OBJECT> -MF <DEPFILE>") diff --git a/Modules/Compiler/Intel-Fortran.cmake b/Modules/Compiler/Intel-Fortran.cmake index 671d284..ef7aa3a 100644 --- a/Modules/Compiler/Intel-Fortran.cmake +++ b/Modules/Compiler/Intel-Fortran.cmake @@ -1,10 +1,7 @@ -set(CMAKE_Fortran_FLAGS_INIT "") -set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g") -set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os") -set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3") -set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") +include(Compiler/Intel) +__compiler_intel(Fortran) + set(CMAKE_Fortran_MODDIR_FLAG "-module ") -set(CMAKE_Fortran_VERBOSE_FLAG "-v") set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed") set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free") diff --git a/Modules/Compiler/Intel.cmake b/Modules/Compiler/Intel.cmake new file mode 100644 index 0000000..ff62804 --- /dev/null +++ b/Modules/Compiler/Intel.cmake @@ -0,0 +1,36 @@ + +#============================================================================= +# Copyright 2002-2016 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +# This module is shared by multiple languages; use include blocker. +if(__COMPILER_INTEL) + return() +endif() +set(__COMPILER_INTEL 1) + +if(CMAKE_HOST_WIN32) + # MSVC-like + macro(__compiler_intel lang) + endmacro() +else() + # GNU-like + macro(__compiler_intel lang) + set(CMAKE_${lang}_VERBOSE_FLAG "-v") + + set(CMAKE_${lang}_FLAGS_INIT "") + set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g") + set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Os") + set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O3") + set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") + endmacro() +endif() |