Asbseil Support
The C++ implementation of Protocol Buffers has an explicit dependency on Abseil.
In version 22.x, C++ protobuf added an explicit dependency on Abseil.
Bazel Support
If you are using Bazel, to determine the version of Abseil that your protobuf
version supports, you can use the bazel mod
command:
$ bazel mod deps abseil-cpp --enable_bzlmod
<root> (protobuf@30.0-dev)
└───abseil-cpp@20240722.0
├───bazel_skylib@1.7.1
├───googletest@1.15.2
└───platforms@0.0.10
bazel mod graph
produces the full output:
$ bazel mod graph --enable_bzlmod
<root> (protobuf@30.0-dev)
├───abseil-cpp@20240722.0
│ ├───bazel_skylib@1.7.1 (*)
│ ├───googletest@1.15.2 (*)
│ └───platforms@0.0.10 (*)
├───bazel_features@1.18.0
│ └───bazel_skylib@1.7.1 (*)
├───bazel_skylib@1.7.1
│ ├───platforms@0.0.10 (*)
│ └───rules_license@1.0.0 (*)
├───googletest@1.15.2
│ ├───abseil-cpp@20240722.0 (*)
│ ├───platforms@0.0.10 (*)
│ └───re2@2024-07-02
...
CMake Support
Our CMake support is best-effort compared to Bazel. To check for support, try the following steps:
- Run the
cmake .
command. - Open
_deps/absl-src/CMakeLists.txt
.
Look for the following line:
project(absl LANGUAGES CXX VERSION 20240722)
set(ABSL_SOVERSION "2407.0.0")
include(CTest)