Files
ortools-clone/patches/abseil-cpp-20240722.0.patch
2024-08-05 16:03:09 +02:00

80 lines
2.3 KiB
Diff

diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake
index 32cc28f..e51d6df 100644
--- a/CMake/AbseilDll.cmake
+++ b/CMake/AbseilDll.cmake
@@ -699,31 +699,44 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS
include(CheckCXXSourceCompiles)
-check_cxx_source_compiles(
- [==[
-#ifdef _MSC_VER
-# if _MSVC_LANG < 201703L
-# error "The compiler defaults or is configured for C++ < 17"
-# endif
-#elif __cplusplus < 201703L
-# error "The compiler defaults or is configured for C++ < 17"
-#endif
-int main() { return 0; }
-]==]
+message(WARNING "ABSL_CXX_STANDARD: ${ABSL_CXX_STANDARD}")
+message(WARNING "CMAKE_CXX_STANDARD: ${CMAKE_CXX_STANDARD}")
+message(WARNING "CMAKE_CXX_STANDARD_REQUIRED: ${CMAKE_CXX_STANDARD_REQUIRED}")
+message(WARNING "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
+
+if(CMAKE_CXX_STANDARD GREATER_EQUAL 17)
+ set(ABSL_INTERNAL_AT_LEAST_CXX17 TRUE)
+else()
+ check_cxx_source_compiles(
+ [==[
+ #ifdef _MSC_VER
+ # if _MSVC_LANG < 201703L
+ # error "The compiler defaults or is configured for C++ < 17"
+ # endif
+ #elif __cplusplus < 201703L
+ # error "The compiler defaults or is configured for C++ < 17"
+ #endif
+ int main() { return 0; }
+ ]==]
ABSL_INTERNAL_AT_LEAST_CXX17)
+endif()
-check_cxx_source_compiles(
- [==[
-#ifdef _MSC_VER
-# if _MSVC_LANG < 202002L
-# error "The compiler defaults or is configured for C++ < 20"
-# endif
-#elif __cplusplus < 202002L
-# error "The compiler defaults or is configured for C++ < 20"
-#endif
-int main() { return 0; }
-]==]
+if(CMAKE_CXX_STANDARD GREATER_EQUAL 20)
+ set(ABSL_INTERNAL_AT_LEAST_CXX20 TRUE)
+else()
+ check_cxx_source_compiles(
+ [==[
+ #ifdef _MSC_VER
+ # if _MSVC_LANG < 202002L
+ # error "The compiler defaults or is configured for C++ < 20"
+ # endif
+ #elif __cplusplus < 202002L
+ # error "The compiler defaults or is configured for C++ < 20"
+ #endif
+ int main() { return 0; }
+ ]==]
ABSL_INTERNAL_AT_LEAST_CXX20)
+endif()
if(ABSL_INTERNAL_AT_LEAST_CXX20)
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_20)
@@ -731,6 +744,7 @@ elseif(ABSL_INTERNAL_AT_LEAST_CXX17)
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_17)
else()
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_14)
+ message(FATAL_ERROR "Should not pass here !!!")
endif()
function(absl_internal_dll_contains)