diff --git a/cmake/dependencies/CMakeLists.txt b/cmake/dependencies/CMakeLists.txt index ee91ff2..2e9fbe7 100644 --- a/cmake/dependencies/CMakeLists.txt +++ b/cmake/dependencies/CMakeLists.txt @@ -20,6 +20,7 @@ if(BUILD_ZLIB) UPDATE_COMMAND git reset --hard PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/ZLIB-v1.3.1.patch" + SYSTEM ) set(ZLIB_BUILD_EXAMPLES OFF) FetchContent_MakeAvailable(ZLIB) @@ -36,17 +37,18 @@ if(BUILD_absl) FetchContent_Declare( absl GIT_REPOSITORY "https://github.com/abseil/abseil-cpp.git" - GIT_TAG "20250814.1" + GIT_TAG "20260107.1" GIT_SHALLOW TRUE UPDATE_COMMAND git reset --hard PATCH_COMMAND git apply --ignore-whitespace - "${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20250814.1.patch" + "${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20260107.1.patch" OVERRIDE_FIND_PACKAGE + SYSTEM ) set(ABSL_USE_SYSTEM_INCLUDES ON) # We want Abseil to declare what C++ standard it was compiled with. set(ABSL_PROPAGATE_CXX_STD ON) - set(ABSL_BUILD_TEST_HELPERS ON) + set(ABSL_BUILD_TEST_HELPERS OFF) set(ABSL_USE_EXTERNAL_GOOGLETEST ON) set(ABSL_FIND_GOOGLETEST OFF) # We want Abseil to keep the INSTALL rules enabled, even though it is a @@ -74,6 +76,7 @@ if(BUILD_Protobuf) PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/protobuf-v33.1.patch" OVERRIDE_FIND_PACKAGE # Make package visible for "protobuf-matchers" below + SYSTEM ) set(protobuf_BUILD_TESTS OFF) set(protobuf_BUILD_SHARED_LIBS ON) @@ -99,6 +102,7 @@ if(BUILD_re2) UPDATE_COMMAND git reset --hard PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/re2-2025-08-12.patch" + SYSTEM ) set(RE2_BUILD_TESTING OFF) FetchContent_MakeAvailable(re2) @@ -121,6 +125,7 @@ if(BUILD_googletest) UPDATE_COMMAND git reset --hard PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/googletest-v1.17.0.patch" + SYSTEM ) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) set(GTEST_HAS_ABSL ON) @@ -139,6 +144,7 @@ if(BUILD_benchmark) GIT_TAG v1.9.2 GIT_SHALLOW TRUE #PATCH_COMMAND git apply --ignore-whitespace "" + SYSTEM ) set(BENCHMARK_ENABLE_TESTING OFF) set(BENCHMARK_ENABLE_WERROR OFF) diff --git a/patches/abseil-cpp-20250814.1.patch b/patches/abseil-cpp-20250814.1.patch deleted file mode 100644 index 868e14d..0000000 --- a/patches/abseil-cpp-20250814.1.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake -index 624a3c7..dfe0680 100644 ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -326,7 +326,12 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - ) - - if (_build_type STREQUAL "dll") -+ if (${_in_dll}) - set(ABSL_CC_LIB_DEPS abseil_dll) -+ endif() -+ if(${_in_test_dll}) -+ set(ABSL_CC_LIB_DEPS abseil_test_dll) -+ endif() - endif() - - target_link_libraries(${_NAME} -@@ -345,7 +350,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - endif() - endif() - -- if(ABSL_ENABLE_INSTALL) -+ if(ABSL_ENABLE_INSTALL AND NOT ABSL_CC_LIB_TESTONLY) - install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1e7c856..a3c3dae 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -145,7 +145,7 @@ if((BUILD_TESTING AND ABSL_BUILD_TESTING) OR ABSL_BUILD_TEST_HELPERS) - add_library(GTest::gmock ALIAS gmock) - add_library(GTest::gmock_main ALIAS gmock_main) - else() -- message(FATAL_ERROR "ABSL_USE_EXTERNAL_GOOGLETEST is ON and ABSL_FIND_GOOGLETEST is OFF, which means that the top-level project must build the Google Test project. However, the target gtest was not found.") -+ message(WARNING "ABSL_USE_EXTERNAL_GOOGLETEST is ON and ABSL_FIND_GOOGLETEST is OFF, which means that the top-level project must build the Google Test project. However, the target gtest was not found.") - endif() - endif() - else() -diff --git a/absl/flags/declare.h b/absl/flags/declare.h -index 8d2a856..a154046 100644 ---- a/absl/flags/declare.h -+++ b/absl/flags/declare.h -@@ -59,10 +59,15 @@ ABSL_NAMESPACE_END - - // Internal implementation of ABSL_DECLARE_FLAG to allow macro expansion of its - // arguments. Clients must use ABSL_DECLARE_FLAG instead. -+#if defined(_MSC_VER) -+#define ABSL_DECLARE_FLAG_INTERNAL(type, name) \ -+ extern absl::Flag FLAGS_##name -+#else - #define ABSL_DECLARE_FLAG_INTERNAL(type, name) \ - extern absl::Flag FLAGS_##name; \ - namespace absl /* block flags in namespaces */ {} \ - /* second redeclaration is to allow applying attributes */ \ - extern absl::Flag FLAGS_##name -+#endif // _MSC_VER - - #endif // ABSL_FLAGS_DECLARE_H_ diff --git a/patches/abseil-cpp-20260107.1.patch b/patches/abseil-cpp-20260107.1.patch new file mode 100644 index 0000000..2d75c2e --- /dev/null +++ b/patches/abseil-cpp-20260107.1.patch @@ -0,0 +1,38 @@ +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index 61e1ae4..3e6ec94 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -350,7 +350,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") + endif() + endif() + +- if(ABSL_ENABLE_INSTALL) ++ if(ABSL_ENABLE_INSTALL AND NOT ABSL_CC_LIB_TESTONLY) + install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 26dc8e7..cd4fef1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -145,7 +145,7 @@ if((BUILD_TESTING AND ABSL_BUILD_TESTING) OR ABSL_BUILD_TEST_HELPERS) + add_library(GTest::gmock ALIAS gmock) + add_library(GTest::gmock_main ALIAS gmock_main) + else() +- message(FATAL_ERROR "ABSL_USE_EXTERNAL_GOOGLETEST is ON and ABSL_FIND_GOOGLETEST is OFF, which means that the top-level project must build the Google Test project. However, the target gtest was not found.") ++ message(WARNING "ABSL_USE_EXTERNAL_GOOGLETEST is ON and ABSL_FIND_GOOGLETEST is OFF, which means that the top-level project must build the Google Test project. However, the target gtest was not found.") + endif() + endif() + else() +diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt +index 365c6ea..d12e585 100644 +--- a/absl/container/CMakeLists.txt ++++ b/absl/container/CMakeLists.txt +@@ -1119,6 +1119,7 @@ absl_cc_library( + absl::config + absl::test_instance_tracker + GTest::gmock ++ TESTONLY + ) + + absl_cc_library(