Merge topic 'android-clang-c++23'

75e9918a66 Android: Require Clang 18 for -std=c++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !8847
This commit is contained in:
Brad King
2023-09-28 13:50:24 +00:00
committed by Kitware Robot

View File

@@ -173,7 +173,12 @@ macro(__compiler_clang_cxx_standards lang)
unset(_clang_version_std17)
if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 17.0)
set(_clang_version_std23 17.0)
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
set(_clang_version_std23 18.0)
endif()
if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS "${_clang_version_std23}")
set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23")
set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=gnu++23")
set(CMAKE_${lang}26_STANDARD_COMPILE_OPTION "-std=c++26")
@@ -183,6 +188,8 @@ macro(__compiler_clang_cxx_standards lang)
set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=gnu++2b")
endif()
unset(_clang_version_std23)
if("x${CMAKE_${lang}_SIMULATE_ID}" STREQUAL "xMSVC")
# The MSVC standard library requires C++14, and MSVC itself has no
# notion of operating in a mode not aware of at least that standard.