-
Notifications
You must be signed in to change notification settings - Fork 509
[CMAKE] Unify third party dependency management #3460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CMAKE] Unify third party dependency management #3460
Conversation
✅ Deploy Preview for opentelemetry-cpp-api-docs canceled.
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3460 +/- ##
=======================================
Coverage 89.92% 89.92%
=======================================
Files 219 219
Lines 7042 7042
=======================================
Hits 6332 6332
Misses 710 710 🚀 New features to boost your workflow:
|
|
Why do we need add a dedicated function |
@ThomsonTan They serve two different purposes. The The |
6012dff to
af673b9
Compare
…ontent and find_package with the otel_add_thirdparty_package function. Remove the static third party dependency file. Move the version parsing to a version script and set the project version in the main command. Clean up cmake target usage.
…s. Adds a install_thirdparty.sh bash script. Use the script in ci and remove the separate install scripts for abseil, googletest, protobuf, and grpc. Adds third party tag files and removes references to specific third party versions from ci workflows.
…arty projects using the git submodules
… overrides third party package finds/fetches as required
0e2def7 to
94875f1
Compare
|
Closing this PR in favor of breaking up the changes into multiple PRs:
TODO:
|
Update third party dependency management in CMake.
Rationale:
third_party_releasefile only accounts for some of the dependencies and the versions are not fully used in the CMake build, instead the github ci workflow files have a lot of dependency versions in them.Goals:
third_party_releaseChanges
otel_add_thirdparty_packagefunction unify how third party dependencies are found/fetched.third_party_release.WITH_API_ONLYso it overrides any options that may import third party packages. Add api only test to verify.install_windows_depsCMake function and ARCH detectionCURL::libcurltargetprometheus-cpppullandcoretargetsopentracing-cpptargetOTELCPP_THIRDPARTY_FIND_PACKAGE_ONLY=ONto prevent fetching from github or submodules.OTELCPP_THIRDPARTY_FETCH_CONTENT_ONLY=ONWITH_GSL=ONFor significant contributions please make sure you have completed the following items:
CHANGELOG.mdupdated for non-trivial changes