Skip to content
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

Restructure dependency handling in CMake. #17519

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Ferroin
Copy link
Member

@Ferroin Ferroin commented Apr 25, 2024

Summary

First pass at cleaning up dependency handling in CMake:

  • Move handling of truly mandatory dependencies to it’s own module.
  • Move handling of TLS implementation to it’s own module.
  • Move handling of optional compression libraries to their own module.
  • For all above listed dependencies, reorder them to be checked early, with mandatory dependencies being checked first.
  • For all above listed dependencies, shift to using the correct target_link_*, target_compile_*, and target_include_*` options for each part of the process of adding them to a target.
  • Perform the same correctness fix mentioned above for most of the dependencies that are already modularized.
Test Plan

CI passes on this PR

Additional Information

There will likely be further PRs opened with similar changes in the future, but this one has intentionally been kept relatively small to simplify review.

@github-actions github-actions bot added area/packaging Packaging and operating systems support area/build Build system (autotools and cmake). labels Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build Build system (autotools and cmake). area/packaging Packaging and operating systems support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant