-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit de02131
### 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 heavily simplify our third party dependency management. Moving abseil is the first step to simplify some of them.
### What changes are included in this PR?
The general change is moving from `ExternalProject` to `FetchContent`. In more detail this gets rid of all the manual definition of targets for all abseil libraries with it's dependency management. This is removing around 900 lines of custom code which is not necessary with FetchContent.
It also add some required integration due to other dependencies, like grpc, using `ExternalProject`. We not only have to build but also install in order for those other dependencies to find abseil. This causes some timing issues between config, build, install that requires us to create a custom target to depend on so the other dependencies find abseil. As we have to install abseil for those to find it we also want to not install abseil outside of the build path that's why we override abseil's `cmake_install.cmake` with no-op.
### Are these changes tested?
Yes, the changes are tested locally and on CI.
### Are there any user-facing changes?
No
* GitHub Issue: #48074
Lead-authored-by: Raúl Cumplido <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
1 parent 46b033f commit de02131Copy full SHA for de02131
File tree
Expand file treeCollapse file tree
1 file changed
+140
-928
lines changedOpen diff view settings
Filter options
- cpp/cmake_modules
Expand file treeCollapse file tree
1 file changed
+140
-928
lines changedOpen diff view settings
0 commit comments