wpilibsuite / allwpilib

Official Repository of WPILibJ and WPILibC
https://wpilib.org/
Other
1.04k stars 605 forks source link

Add abseil-cpp as a 3rd party library #6610

Open pjreiniger opened 2 months ago

pjreiniger commented 2 months ago

I wanted to upgrade protobuf as the more recent versions have better bazel support. The currently vendor'd version is from 9/22. Moving to a more recent release requires a dependency on abseil-cpp. I saw the #6607 and #6609, which also refer to abseil, albeit in a cmake case.

I'm happy to do the work, I just wanted approval for such a change before spending time on it.

PeterJohnson commented 2 months ago

Other than the fact I hate abseil with the flame of 1000 suns because it is the definition of dependency hell, if we have to upgrade, we have to upgrade. Can we at least build it all into a single library rather than the 50+ individual libraries it seems to have in distributions? Could we even bundle it all together with the protobuf thirdparty library (like how we do imgui)?

Gold856 commented 1 month ago

I think reviving the thirdparty-protobuf repo, optionally applying some patches, and building it like we do with OpenCV (Gradle invokes CMake, copies the libraries, and bundles it into a zip file artifact) is the way to go. CMake will stuff the 50+ libraries into one folder we can bundle up.