diff --git a/Modules/Compiler/IntelLLVM-CXX.cmake b/Modules/Compiler/IntelLLVM-CXX.cmake index 989a1d470f..45e5d664ff 100644 --- a/Modules/Compiler/IntelLLVM-CXX.cmake +++ b/Modules/Compiler/IntelLLVM-CXX.cmake @@ -49,11 +49,21 @@ if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") set(CMAKE_CXX_STANDARD_LATEST 20) - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) + set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std=c++23") + set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std=gnu++23") + set(CMAKE_CXX_STANDARD_LATEST 23) + elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std=c++2b") set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std=gnu++2b") set(CMAKE_CXX_STANDARD_LATEST 23) endif() + + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) + set(CMAKE_CXX26_STANDARD_COMPILE_OPTION "-std=c++26") + set(CMAKE_CXX26_EXTENSION_COMPILE_OPTION "-std=gnu++26") + set(CMAKE_CXX_STANDARD_LATEST 26) + endif() else() set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "") set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "") @@ -72,11 +82,22 @@ else() set(CMAKE_CXX_STANDARD_LATEST 20) - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) + set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-Qstd=c++23") + set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-Qstd=c++23") + set(CMAKE_CXX_STANDARD_LATEST 23) + elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-Qstd:c++2b") set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-Qstd:c++2b") set(CMAKE_CXX_STANDARD_LATEST 23) endif() + + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) + set(CMAKE_CXX26_STANDARD_COMPILE_OPTION "-Qstd=c++26") + set(CMAKE_CXX26_EXTENSION_COMPILE_OPTION "-Qstd=c++26") + set(CMAKE_CXX_STANDARD_LATEST 26) + endif() + endif() __compiler_check_default_language_standard(CXX 2020 14)