From e5dfc814e9c46f35c12fc7638bb6926d684dd2a3 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 26 Apr 2024 17:59:20 +1000 Subject: [PATCH] CMake: check both C & C++ compiler versions It was possible for an unsupported clang/gcc version to be used, this seems the likely cause of errors in #120879. --- CMakeLists.txt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 961a25550f0..5960b692b92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,12 +123,24 @@ if(CMAKE_COMPILER_IS_GNUCC) The minimum supported version of GCC is 11.0.0, found ${CMAKE_C_COMPILER_VERSION}" ) endif() -elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") - if(CMAKE_COMPILER_IS_GNUCC AND ("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "8.0")) + if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "11.0.0") message(FATAL_ERROR "\ -The minimum supported version of CLANG is 8.0, found ${CMAKE_C_COMPILER_VERSION}" +The minimum supported version of GCC is 11.0.0, found ${CMAKE_CXX_COMPILER_VERSION}" ) endif() +elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_COMPILER_IS_GNUCC) + if("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "8.0") + message(FATAL_ERROR "\ +The minimum supported version of CLANG is 8.0, found ${CMAKE_C_COMPILER_VERSION}" + ) + endif() + if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "8.0") + message(FATAL_ERROR "\ +The minimum supported version of CLANG is 8.0, found ${CMAKE_CXX_COMPILER_VERSION}" + ) + endif() + endif() elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") if(MSVC_VERSION VERSION_LESS "1928") # MSVC_VERSION is an internal version number, it doesn't map to something