summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-05-11 13:19:02 +0000
committerKitware Robot <kwrobot@kitware.com>2021-05-11 09:19:11 -0400
commit13f813ebe4a923645aaf666ef34f67f4670286e8 (patch)
treedd8cb3886c7127b92d47183f217bbfdfda513087
parentb2f1345aaf5114b897d1cb15453a0dd12af269c9 (diff)
parent9fbbebe3d03f2576a8c5d6284c6f122b99e232a9 (diff)
downloadcmake-13f813ebe4a923645aaf666ef34f67f4670286e8.tar.gz
Merge topic 'cpp23_gcc' into release-3.20
9fbbebe3d0 GNU: C++23 support c9a1e06a18 GNU: Final C++20 flags 05f8c8178d GNU: C++17 default version Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6108
-rw-r--r--Modules/Compiler/GNU-CXX.cmake9
1 files changed, 7 insertions, 2 deletions
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index 758d3c783f..b35f254172 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -61,9 +61,14 @@ elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
endif()
-if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
+if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 11.1)
+ set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++20")
+ set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++20")
+ set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std=c++23")
+ set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std=gnu++23")
+elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++2a")
set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++2a")
endif()
-__compiler_check_default_language_standard(CXX 3.4 98 6.0 14)
+__compiler_check_default_language_standard(CXX 3.4 98 6.0 14 11.1 17)