diff options
author | Chuck Atkins <chuck.atkins@kitware.com> | 2017-05-01 13:10:14 (GMT) |
---|---|---|
committer | Chuck Atkins <chuck.atkins@kitware.com> | 2017-05-01 19:15:30 (GMT) |
commit | daae564d87044950edece389f09bde423e6ad867 (patch) | |
tree | beac44d1a0fbb7252f1c65734ad8346b13f4ee92 /Modules/Compiler | |
parent | 25e83ce580d7e6821a07198ce13338a82b966c0b (diff) | |
download | CMake-daae564d87044950edece389f09bde423e6ad867.zip CMake-daae564d87044950edece389f09bde423e6ad867.tar.gz CMake-daae564d87044950edece389f09bde423e6ad867.tar.bz2 |
Cray: Add language standards for the Cray compiler
Diffstat (limited to 'Modules/Compiler')
-rw-r--r-- | Modules/Compiler/Cray-C.cmake | 21 | ||||
-rw-r--r-- | Modules/Compiler/Cray-CXX.cmake | 19 | ||||
-rw-r--r-- | Modules/Compiler/Cray.cmake | 10 |
3 files changed, 50 insertions, 0 deletions
diff --git a/Modules/Compiler/Cray-C.cmake b/Modules/Compiler/Cray-C.cmake index 675560c..87ce20f 100644 --- a/Modules/Compiler/Cray-C.cmake +++ b/Modules/Compiler/Cray-C.cmake @@ -1 +1,22 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +include(Compiler/Cray) + set(CMAKE_C_VERBOSE_FLAG "-v") + +string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG") +string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG") + +if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1) + set(CMAKE_C90_STANDARD_COMPILE_OPTION -h noc99,conform) + set(CMAKE_C90_EXTENSION_COMPILE_OPTION -h noc99,gnu) + set(CMAKE_C99_STANDARD_COMPILE_OPTION -h c99,conform) + set(CMAKE_C99_EXTENSION_COMPILE_OPTION -h c99,gnu) + if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.5) + set(CMAKE_C11_STANDARD_COMPILE_OPTION -h std=c11,conform) + set(CMAKE_C11_EXTENSION_COMPILE_OPTION -h std=c11,gnu) + endif () +endif () + +__compiler_check_default_language_standard(C 8.1 99) diff --git a/Modules/Compiler/Cray-CXX.cmake b/Modules/Compiler/Cray-CXX.cmake index 9fb191c..8506c094 100644 --- a/Modules/Compiler/Cray-CXX.cmake +++ b/Modules/Compiler/Cray-CXX.cmake @@ -1 +1,20 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +include(Compiler/Cray) + set(CMAKE_CXX_VERBOSE_FLAG "-v") + +string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG") +string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG") + +if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1) + set(CMAKE_CXX98_STANDARD_COMPILE_OPTION -h conform) + set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION -h gnu) + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.4) + set(CMAKE_CXX11_STANDARD_COMPILE_OPTION -h std=c++11) + set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION -h std=c++11,gnu) + endif () +endif () + +__compiler_check_default_language_standard(CXX 8.1 98) diff --git a/Modules/Compiler/Cray.cmake b/Modules/Compiler/Cray.cmake new file mode 100644 index 0000000..8fe8eeb --- /dev/null +++ b/Modules/Compiler/Cray.cmake @@ -0,0 +1,10 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# This module is shared by multiple languages; use include blocker. +if(__COMPILER_CRAY) + return() +endif() +set(__COMPILER_CRAY 1) + +include(Compiler/CMakeCommonCompilerMacros) |