summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/XLClang-CXX.cmake
diff options
context:
space:
mode:
authorChuck Atkins <chuck.atkins@kitware.com>2019-02-05 16:48:00 (GMT)
committerBrad King <brad.king@kitware.com>2019-02-25 13:24:28 (GMT)
commit90c6156aa8272ec9811647d9b6c87d7ee4326e35 (patch)
tree752a820e1adbbdd6604c0a39e39ffaf7f32c44bc /Modules/Compiler/XLClang-CXX.cmake
parente0231fe439fef3e5f64912f65393e756c4473cc8 (diff)
downloadCMake-90c6156aa8272ec9811647d9b6c87d7ee4326e35.zip
CMake-90c6156aa8272ec9811647d9b6c87d7ee4326e35.tar.gz
CMake-90c6156aa8272ec9811647d9b6c87d7ee4326e35.tar.bz2
XLClang: Add a new compiler ID for the clang-based XL compiler
Diffstat (limited to 'Modules/Compiler/XLClang-CXX.cmake')
-rw-r--r--Modules/Compiler/XLClang-CXX.cmake20
1 files changed, 20 insertions, 0 deletions
diff --git a/Modules/Compiler/XLClang-CXX.cmake b/Modules/Compiler/XLClang-CXX.cmake
new file mode 100644
index 0000000..f535ebc
--- /dev/null
+++ b/Modules/Compiler/XLClang-CXX.cmake
@@ -0,0 +1,20 @@
+include(Compiler/XLClang)
+__compiler_xlclang(CXX)
+
+if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.1)
+ set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
+ set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.2)
+ set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+ set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+ set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+ set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
+ endif ()
+endif()
+
+__compiler_check_default_language_standard(CXX 13.1.1 98)
+
+set(CMAKE_CXX_COMPILE_OBJECT
+ "<CMAKE_CXX_COMPILER> -x c++ <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")