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

[FEA] have BUILD and INSTALL export sets understand static linking #176

Open
robertmaynard opened this issue Mar 24, 2022 · 0 comments
Open
Labels
? - Needs Triage Need team to review and classify feature request New feature or request

Comments

@robertmaynard
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently the build and install export sets don't understand that static linking means that PRIVATE dependencies are
required to consume an exported library.

This generally means that all projects using rapids-cmake don't properly export dependencies when built statically, since they
only track dependencies that are required to use the library when built 'shared' ( .so )

Describe the solution you'd like
The optimal solution would be to have CMake do the following:

  • Associate imported targets with the find_package call that created them
  • Allow projects to generate the collection of find_package calls need by the link rules of the exported targets

If this becomes unreasonable to implement in CMake itself, we can do the following in rapids-cmake:

  • Add the PUBLIC and PRIVATE keywords to rapids_find_package and rapids_cpm_find.
  • Extend rapids_export with a INCLUDE_PRIVATE flag that will be set when building statically.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage Need team to review and classify feature request New feature or request
Projects
Status: No status
Development

No branches or pull requests

1 participant