GH-48248: [C++] Use FetchContent for bundled gRPC#48250
Conversation
|
@github-actions crossbow submit -g cpp |
|
Revision: 9386a28 Submitted crossbow builds: ursacomputing/crossbow @ actions-bbf70f60fe |
|
@github-actions crossbow submit -g r |
|
Revision: 9386a28 Submitted crossbow builds: ursacomputing/crossbow @ actions-b3bd179582 |
|
@github-actions crossbow submit -g cpp |
|
Revision: 1144f25 Submitted crossbow builds: ursacomputing/crossbow @ actions-c9de41cc83 |
|
@github-actions crossbow submit test-ubuntu-22.04-cpp-bundled |
|
Revision: 9bddf67 Submitted crossbow builds: ursacomputing/crossbow @ actions-de489c8583
|
|
@github-actions crossbow submit -g r |
|
Revision: 9bddf67 Submitted crossbow builds: ursacomputing/crossbow @ actions-3f45b50a5c |
|
@github-actions crossbow submit -g cpp |
|
Revision: 9bddf67 Submitted crossbow builds: ursacomputing/crossbow @ actions-0e07cbb9ef |
84f2f87 to
a219eff
Compare
|
@github-actions crossbow submit -g cpp |
|
Revision: a219eff Submitted crossbow builds: ursacomputing/crossbow @ actions-b3962c3cec |
|
@github-actions crossbow submit -g r |
|
Revision: a219eff Submitted crossbow builds: ursacomputing/crossbow @ actions-ada8c5b28b |
| if(PROTOBUF_VENDORED) | ||
| set(_gRPC_PROTOBUF_LIBRARIES | ||
| "protobuf::libprotobuf" | ||
| CACHE STRING "" FORCE) |
There was a problem hiding this comment.
Can we use normal variable not cache variable for all gRPC related variables?
There was a problem hiding this comment.
@kou the only one that seems necessary is the one here: 00a838f
see the current CI failures, I can revert that one.
The rest doesn't seem necessary even though I have to investigate why gRPC_SSL_PROVIDER fails locally for me if I don't put CACHE (all CI is successful so might be that I miss to install something locally).
There was a problem hiding this comment.
Thanks for checking it!
Let's use CACHE only for needed variables.
We may be able to remove CACHE by using OVERRIDE_FIND_PACKAGE in FetchContent_Declare() https://cmake.org/cmake/help/latest/module/FetchContent.html#integrating-with-find-package but it's out-of-scope of this PR.
|
@github-actions crossbow submit test-ubuntu-22.04-cpp-bundled |
|
Revision: 8ad3a02 Submitted crossbow builds: ursacomputing/crossbow @ actions-98b88d65ce
|
|
@github-actions crossbow submit -g r -g cpp |
|
Revision: 8ad3a02 Submitted crossbow builds: ursacomputing/crossbow @ actions-47316e024f |
|
@github-actions crossbow submit -g r -g cpp |
|
Revision: 296882c Submitted crossbow builds: ursacomputing/crossbow @ actions-5a84cfaf82 |
|
I think this is ready for review again! Thanks @kou |
|
@github-actions crossbow submit -g r -g cpp |
|
Revision: 66e8062 Submitted crossbow builds: ursacomputing/crossbow @ actions-e7d62ed8db |
|
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit dcfb211. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
Rationale for this change
As a follow up of requiring a minimum CMake version >= 3.25 we discussed moving our dependencies from ExternalProject to FetchContent. This can simplify our third party dependency management.
What changes are included in this PR?
The general change is moving gRPC from
ExternalProjecttoFetchContent.We can clean up previously required installation on RE2 and C-Ares. We can't do it for Abseil or protobuf as those are also used on other dependencies. We will be able to clean those later.
Are these changes tested?
Yes, the changes are tested locally and on CI.
Are there any user-facing changes?
No