From 9bfcafbfbe6cad91fcfe9e0b4998a73fc611f0d7 Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Tue, 10 Mar 2026 12:10:14 +0100 Subject: [PATCH 1/3] dependency: bump abseil-cpp to 20260107.1 --- cmake/dependencies/CMakeLists.txt | 4 +- patches/abseil-cpp-20250814.1.patch | 59 ----------------------------- patches/abseil-cpp-20260107.1.patch | 38 +++++++++++++++++++ 3 files changed, 40 insertions(+), 61 deletions(-) delete mode 100644 patches/abseil-cpp-20250814.1.patch create mode 100644 patches/abseil-cpp-20260107.1.patch diff --git a/cmake/dependencies/CMakeLists.txt b/cmake/dependencies/CMakeLists.txt index ee91ff2..7da71de 100644 --- a/cmake/dependencies/CMakeLists.txt +++ b/cmake/dependencies/CMakeLists.txt @@ -36,11 +36,11 @@ 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 ) set(ABSL_USE_SYSTEM_INCLUDES ON) 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( From b6e6be964a8c0a63191da6cc81d4137bbfb0aadc Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Tue, 10 Mar 2026 12:37:43 +0100 Subject: [PATCH 2/3] deps: don't use absl test helpers --- cmake/dependencies/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/dependencies/CMakeLists.txt b/cmake/dependencies/CMakeLists.txt index 7da71de..1e9387e 100644 --- a/cmake/dependencies/CMakeLists.txt +++ b/cmake/dependencies/CMakeLists.txt @@ -46,7 +46,7 @@ if(BUILD_absl) 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 From cb1e201e0bb8f2e7c6f00522b477047d22aed8a6 Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Tue, 10 Mar 2026 12:38:01 +0100 Subject: [PATCH 3/3] deps: make them system headers to avoid warnings --- cmake/dependencies/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/dependencies/CMakeLists.txt b/cmake/dependencies/CMakeLists.txt index 1e9387e..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) @@ -42,6 +43,7 @@ if(BUILD_absl) PATCH_COMMAND git apply --ignore-whitespace "${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. @@ -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)