diff options
author | Brad King <brad.king@kitware.com> | 2020-06-15 13:01:38 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-06-15 13:01:44 (GMT) |
commit | 9fb67f690be915a13cd70b5af71f640660f0b2ab (patch) | |
tree | d506c9e3fb7ace7c624d24542c1477064b1866bb | |
parent | 05546d695e2d98e420009bec2ce62253dffa3c60 (diff) | |
parent | b365385d669d1a04cbc677cf2c7130c03bdea7e3 (diff) | |
download | CMake-9fb67f690be915a13cd70b5af71f640660f0b2ab.zip CMake-9fb67f690be915a13cd70b5af71f640660f0b2ab.tar.gz CMake-9fb67f690be915a13cd70b5af71f640660f0b2ab.tar.bz2 |
Merge topic 'clang_cxx20' into release-3.18
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4887
-rw-r--r-- | Modules/Compiler/Clang.cmake | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake index cd47aa6..bb516d3 100644 --- a/Modules/Compiler/Clang.cmake +++ b/Modules/Compiler/Clang.cmake @@ -146,7 +146,14 @@ macro(__compiler_clang_cxx_standards lang) set(CMAKE_${lang}17_EXTENSION_COMPILE_OPTION "-std=gnu++1z") endif() - if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}") + if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 6.0) + set(CMAKE_${lang}17_STANDARD__HAS_FULL_SUPPORT ON) + endif() + + if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 11.0) + set(CMAKE_${lang}20_STANDARD_COMPILE_OPTION "-std=c++20") + set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std=gnu++20") + elseif(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS "${_clang_version_std17}") set(CMAKE_${lang}20_STANDARD_COMPILE_OPTION "-std=c++2a") set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std=gnu++2a") endif() |