Skip to content

Commit 79cf92b

Browse files
committed
cmake: bump dependencies
1 parent 802eecb commit 79cf92b

11 files changed

+170
-85
lines changed

ci/docker/almalinux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ FROM almalinux:latest AS env
66
ENV PATH=/usr/local/bin:$PATH
77
RUN dnf -y update \
88
&& dnf -y install git wget openssl-devel cmake \
9-
&& dnf -y groupinstall "Development Tools" \
9+
&& dnf -y group install "Development Tools" \
1010
&& dnf clean all \
1111
&& rm -rf /var/cache/dnf
1212
CMD [ "/usr/bin/bash" ]

ci/docker/debian/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ FROM debian:unstable AS env
55
# Install system build dependencies
66
ENV PATH=/usr/local/bin:$PATH
77
RUN apt-get update -qq \
8-
&& apt-get install -yq git wget libssl-dev build-essential cmake \
8+
&& apt-get install -yq \
9+
git wget libssl-dev build-essential cmake \
910
&& apt-get clean \
1011
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
1112

ci/docker/opensuse/Dockerfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ FROM opensuse/tumbleweed AS env
44

55
# Install system build dependencies
66
ENV PATH=/usr/local/bin:$PATH
7-
RUN zypper update -y \
8-
&& zypper install -y \
9-
git patch gcc gcc-c++ cmake \
7+
RUN zypper refresh \
8+
&& zypper install -y git gcc gcc-c++ cmake \
109
&& zypper clean -a
1110
ENV CC=gcc CXX=g++
1211

ci/docker/rockylinux/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ FROM rockylinux:9 AS env
66
ENV PATH=/usr/local/bin:$PATH
77
RUN dnf -y update \
88
&& dnf -y install git wget openssl-devel cmake \
9-
&& dnf -y groupinstall "Development Tools" \
9+
&& dnf -y group install "Development Tools" \
1010
&& dnf clean all \
1111
&& rm -rf /var/cache/dnf
1212
CMD [ "/usr/bin/bash" ]

cmake/dependencies/CMakeLists.txt

+16-13
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ if(BUILD_absl)
4040
FetchContent_Declare(
4141
absl
4242
GIT_REPOSITORY "https://github.com/abseil/abseil-cpp.git"
43-
GIT_TAG "20240722.0"
43+
GIT_TAG "20250127.1"
4444
GIT_SHALLOW TRUE
4545
PATCH_COMMAND git apply --ignore-whitespace
46-
"${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20240722.0.patch"
47-
OVERRIDE_FIND_PACKAGE)
46+
"${CMAKE_CURRENT_LIST_DIR}/../../patches/abseil-cpp-20250127.1.patch"
47+
OVERRIDE_FIND_PACKAGE
48+
)
4849
FetchContent_MakeAvailable(absl)
4950
list(POP_BACK CMAKE_MESSAGE_INDENT)
5051
message(CHECK_PASS "fetched")
@@ -61,24 +62,23 @@ if(BUILD_Protobuf)
6162
set(protobuf_BUILD_EXPORT OFF)
6263
set(protobuf_MSVC_STATIC_RUNTIME OFF)
6364
#set(protobuf_BUILD_LIBUPB ON)
64-
set(protobuf_WITH_ZLIB OFF)
6565
FetchContent_Declare(
6666
Protobuf
6767
GIT_REPOSITORY "https://github.com/protocolbuffers/protobuf.git"
68-
GIT_TAG "v27.3"
68+
GIT_TAG "v30.2"
6969
GIT_SHALLOW TRUE
7070
GIT_SUBMODULES ""
7171
PATCH_COMMAND git apply --ignore-whitespace
72-
"${CMAKE_CURRENT_LIST_DIR}/../../patches/protobuf-v27.3.patch"
72+
"${CMAKE_CURRENT_LIST_DIR}/../../patches/protobuf-v30.2.patch"
7373
)
7474
FetchContent_MakeAvailable(Protobuf)
7575
list(POP_BACK CMAKE_MESSAGE_INDENT)
7676
message(CHECK_PASS "fetched")
7777
endif()
7878

79-
###############
80-
## TESTING ##
81-
###############
79+
# ##############################################################################
80+
# RE2
81+
# ##############################################################################
8282
if(BUILD_re2)
8383
message(CHECK_START "Fetching re2")
8484
list(APPEND CMAKE_MESSAGE_INDENT " ")
@@ -96,17 +96,20 @@ if(BUILD_re2)
9696
message(CHECK_PASS "fetched")
9797
endif()
9898

99+
###############
100+
## TESTING ##
101+
###############
99102
if(BUILD_googletest)
100103
message(CHECK_START "Fetching googletest")
101104
list(APPEND CMAKE_MESSAGE_INDENT " ")
102105
FetchContent_Declare(
103106
googletest
104107
GIT_REPOSITORY https://github.com/google/googletest.git
105-
GIT_TAG v1.15.2
108+
GIT_TAG v1.16.0
106109
GIT_SHALLOW TRUE
107110
PATCH_COMMAND git apply --ignore-whitespace
108-
"${CMAKE_CURRENT_LIST_DIR}/../../patches/googletest-v1.15.2.patch"
109-
#FIND_PACKAGE_ARGS NAMES GTest GMock
111+
"${CMAKE_CURRENT_LIST_DIR}/../../patches/googletest-v1.16.0.patch"
112+
#PATCH_COMMAND git apply --ignore-whitespace ""
110113
)
111114
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
112115
set(INSTALL_GTEST OFF)
@@ -122,7 +125,7 @@ if(BUILD_benchmark)
122125
FetchContent_Declare(
123126
benchmark
124127
GIT_REPOSITORY https://github.com/google/benchmark.git
125-
GIT_TAG v1.8.4
128+
GIT_TAG v1.9.1
126129
GIT_SHALLOW TRUE
127130
#PATCH_COMMAND git apply --ignore-whitespace ""
128131
)

cmake/host.CMakeLists.txt

+11-4
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,15 @@ list(APPEND CMAKE_MESSAGE_INDENT " ")
8989
set(ABSL_ENABLE_INSTALL ON)
9090
set(ABSL_USE_SYSTEM_INCLUDES ON)
9191
set(ABSL_PROPAGATE_CXX_STD ON)
92+
set(ABSL_BUILD_TESTING OFF)
9293
FetchContent_Declare(
9394
absl
9495
GIT_REPOSITORY "https://github.com/abseil/abseil-cpp.git"
95-
GIT_TAG "20240722.0"
96-
PATCH_COMMAND git apply "${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/abseil-cpp-20240722.0.patch")
96+
GIT_TAG "20250127.1"
97+
GIT_SHALLOW TRUE
98+
PATCH_COMMAND git apply --ignore-whitespace
99+
"${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/abseil-cpp-20250127.1.patch"
100+
)
97101
FetchContent_MakeAvailable(absl)
98102
list(POP_BACK CMAKE_MESSAGE_INDENT)
99103
message(CHECK_PASS "fetched")
@@ -108,9 +112,12 @@ set(protobuf_WITH_ZLIB OFF)
108112
FetchContent_Declare(
109113
protobuf
110114
GIT_REPOSITORY "https://github.com/protocolbuffers/protobuf.git"
111-
GIT_TAG "v27.3"
115+
GIT_TAG "v30.2"
116+
GIT_SHALLOW TRUE
112117
GIT_SUBMODULES ""
113-
PATCH_COMMAND git apply "${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/protobuf-v27.3.patch")
118+
PATCH_COMMAND git apply --ignore-whitespace
119+
"${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/protobuf-v30.2.patch"
120+
)
114121
FetchContent_MakeAvailable(protobuf)
115122
list(POP_BACK CMAKE_MESSAGE_INDENT)
116123
message(CHECK_PASS "fetched")

patches/abseil-cpp-20240116.2.patch

-19
This file was deleted.

patches/abseil-cpp-20240722.0.patch renamed to patches/abseil-cpp-20250127.1.patch

+20
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,23 @@ index 32cc28f..e51d6df 100644
7777
endif()
7878

7979
function(absl_internal_dll_contains)
80+
diff --git a/absl/flags/declare.h b/absl/flags/declare.h
81+
index 8d2a856..a154046 100644
82+
--- a/absl/flags/declare.h
83+
+++ b/absl/flags/declare.h
84+
@@ -59,10 +59,15 @@ ABSL_NAMESPACE_END
85+
86+
// Internal implementation of ABSL_DECLARE_FLAG to allow macro expansion of its
87+
// arguments. Clients must use ABSL_DECLARE_FLAG instead.
88+
+#if defined(_MSC_VER)
89+
+#define ABSL_DECLARE_FLAG_INTERNAL(type, name) \
90+
+ extern absl::Flag<type> FLAGS_##name
91+
+#else
92+
#define ABSL_DECLARE_FLAG_INTERNAL(type, name) \
93+
extern absl::Flag<type> FLAGS_##name; \
94+
namespace absl /* block flags in namespaces */ {} \
95+
/* second redeclaration is to allow applying attributes */ \
96+
extern absl::Flag<type> FLAGS_##name
97+
+#endif // _MSC_VER
98+
99+
#endif // ABSL_FLAGS_DECLARE_H_

patches/googletest-v1.15.2.patch

-43
This file was deleted.

patches/googletest-v1.16.0.patch

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
diff --git a/googlemock/include/gmock/internal/gmock-port.h b/googlemock/include/gmock/internal/gmock-port.h
2+
index e9d9e32..ca55646 100644
3+
--- a/googlemock/include/gmock/internal/gmock-port.h
4+
+++ b/googlemock/include/gmock/internal/gmock-port.h
5+
@@ -85,11 +85,11 @@
6+
7+
// Macros for declaring flags.
8+
#define GMOCK_DECLARE_bool_(name) \
9+
- ABSL_DECLARE_FLAG(bool, GMOCK_FLAG_NAME_(name))
10+
+ GTEST_API_ ABSL_DECLARE_FLAG(bool, GMOCK_FLAG_NAME_(name))
11+
#define GMOCK_DECLARE_int32_(name) \
12+
- ABSL_DECLARE_FLAG(int32_t, GMOCK_FLAG_NAME_(name))
13+
+ GTEST_API_ ABSL_DECLARE_FLAG(int32_t, GMOCK_FLAG_NAME_(name))
14+
#define GMOCK_DECLARE_string_(name) \
15+
- ABSL_DECLARE_FLAG(std::string, GMOCK_FLAG_NAME_(name))
16+
+ GTEST_API_ ABSL_DECLARE_FLAG(std::string, GMOCK_FLAG_NAME_(name))
17+
18+
#define GMOCK_FLAG_GET(name) ::absl::GetFlag(GMOCK_FLAG(name))
19+
#define GMOCK_FLAG_SET(name, value) \
20+
diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
21+
index 580ac1c..b338398 100644
22+
--- a/googletest/cmake/internal_utils.cmake
23+
+++ b/googletest/cmake/internal_utils.cmake
24+
@@ -11,6 +11,7 @@
25+
# - The functions/macros defined in this file may depend on Google
26+
# Test and Google Mock's option() definitions, and thus must be
27+
# called *after* the options have been defined.
28+
+include(GNUInstallDirs)
29+
30+
# Tweaks CMake's default compiler/linker settings to suit Google Test's needs.
31+
#
32+
@@ -170,11 +171,11 @@ function(cxx_library_with_type name type cxx_flags)
33+
# Set the output directory for build artifacts.
34+
set_target_properties(${name}
35+
PROPERTIES
36+
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
37+
- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
38+
- ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
39+
- PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
40+
- COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
41+
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}"
42+
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}"
43+
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}"
44+
+ PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}"
45+
+ COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
46+
# Make PDBs match library name.
47+
get_target_property(pdb_debug_postfix ${name} DEBUG_POSTFIX)
48+
set_target_properties(${name}
49+
@@ -185,11 +186,19 @@ function(cxx_library_with_type name type cxx_flags)
50+
COMPILE_PDB_NAME_DEBUG "${name}${pdb_debug_postfix}")
51+
52+
if (BUILD_SHARED_LIBS OR type STREQUAL "SHARED")
53+
- set_target_properties(${name}
54+
- PROPERTIES
55+
- COMPILE_DEFINITIONS "GTEST_CREATE_SHARED_LIBRARY=1")
56+
+ target_compile_definitions(${name} PRIVATE
57+
+ "GTEST_CREATE_SHARED_LIBRARY=1")
58+
target_compile_definitions(${name} INTERFACE
59+
- $<INSTALL_INTERFACE:GTEST_LINKED_AS_SHARED_LIBRARY=1>)
60+
+ $<BUILD_INTERFACE:GTEST_LINKED_AS_SHARED_LIBRARY=1>
61+
+ $<INSTALL_INTERFACE:GTEST_LINKED_AS_SHARED_LIBRARY=1>
62+
+ )
63+
+ if(APPLE)
64+
+ set_target_properties(${name} PROPERTIES
65+
+ INSTALL_RPATH "@loader_path")
66+
+ elseif(UNIX)
67+
+ set_target_properties(${name} PROPERTIES
68+
+ INSTALL_RPATH "$ORIGIN")
69+
+ endif()
70+
endif()
71+
if (DEFINED GTEST_HAS_PTHREAD)
72+
target_link_libraries(${name} PUBLIC Threads::Threads)
73+
@@ -226,9 +235,8 @@ function(cxx_executable_with_flags name cxx_flags libs)
74+
COMPILE_FLAGS "${cxx_flags}")
75+
endif()
76+
if (BUILD_SHARED_LIBS)
77+
- set_target_properties(${name}
78+
- PROPERTIES
79+
- COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
80+
+ target_compile_definitions(${name} PRIVATE
81+
+ "GTEST_LINKED_AS_SHARED_LIBRARY=1")
82+
endif()
83+
# To support mixing linking in static and dynamic libraries, link each
84+
# library in with an extra call to target_link_libraries.
85+
diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h
86+
index 8d27c2c..890c953 100644
87+
--- a/googletest/include/gtest/internal/gtest-port.h
88+
+++ b/googletest/include/gtest/internal/gtest-port.h
89+
@@ -867,10 +867,10 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
90+
#ifndef GTEST_API_
91+
92+
#ifdef _MSC_VER
93+
-#if defined(GTEST_LINKED_AS_SHARED_LIBRARY) && GTEST_LINKED_AS_SHARED_LIBRARY
94+
-#define GTEST_API_ __declspec(dllimport)
95+
-#elif defined(GTEST_CREATE_SHARED_LIBRARY) && GTEST_CREATE_SHARED_LIBRARY
96+
+#if defined(GTEST_CREATE_SHARED_LIBRARY) && GTEST_CREATE_SHARED_LIBRARY
97+
#define GTEST_API_ __declspec(dllexport)
98+
+#elif defined(GTEST_LINKED_AS_SHARED_LIBRARY) && GTEST_LINKED_AS_SHARED_LIBRARY
99+
+#define GTEST_API_ __declspec(dllimport)
100+
#endif
101+
#elif GTEST_HAVE_ATTRIBUTE_(visibility)
102+
#define GTEST_API_ __attribute__((visibility("default")))
103+
@@ -2287,11 +2287,11 @@ using TimeInMillis = int64_t; // Represents time in milliseconds.
104+
105+
// Macros for declaring flags.
106+
#define GTEST_DECLARE_bool_(name) \
107+
- ABSL_DECLARE_FLAG(bool, GTEST_FLAG_NAME_(name))
108+
+ GTEST_API_ ABSL_DECLARE_FLAG(bool, GTEST_FLAG_NAME_(name))
109+
#define GTEST_DECLARE_int32_(name) \
110+
- ABSL_DECLARE_FLAG(int32_t, GTEST_FLAG_NAME_(name))
111+
+ GTEST_API_ ABSL_DECLARE_FLAG(int32_t, GTEST_FLAG_NAME_(name))
112+
#define GTEST_DECLARE_string_(name) \
113+
- ABSL_DECLARE_FLAG(std::string, GTEST_FLAG_NAME_(name))
114+
+ GTEST_API_ ABSL_DECLARE_FLAG(std::string, GTEST_FLAG_NAME_(name))
115+
116+
#define GTEST_FLAG_SAVER_ ::absl::FlagSaver
117+
File renamed without changes.

0 commit comments

Comments
 (0)