-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
Override linkage in manifest #27043
Comments
no the correct approach would just be to be more exact about the hashing #19984 |
The suggested approach #19984 does not solve the 2 and 3 point. |
@BillyONeal I agree with @Neumann-A , what do you think about? |
2 and 3 are outside vcpkg's responsibility. |
I see, thank you for the A bit different example of point 2. Alternative approach could be to introduce some |
In terms of the "oh no, this triggers rebuilds" kind of feedback, I agree with Neumann-A that something similar to the PR they have submitted is probably closest to the correct fix; I know there remain some design concerns there so I'm not sure what kind of timeframe we expect something like that to land. We are interested in investigating putting more information into the end-user-manifest, not for rebuild avoidance; more just for ease of use; realistically it would be sometime next year before we truly tackle that at the earliest though. |
Maybe linkage in manifest could act as a default that can be overridden in triplet. This would solve cache invalidation issue before #19984 is merged. |
That is how it already works. |
Huh? Did I miss something? |
The prosed extension of manifest looks like simplification of use in my opinion.
Could you share your thoughts on what kind of information you are looking into? |
Triplets are the overriding mechanism. This request is to let manifests be an overriding mechanism too. |
I don't have concrete "this is a spec for what we will do" to show you right now; I'm only saying that the feedback of "it sucks to have to write a triplet to customize a lot of these things" is feedback we have been getting and understand. |
This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment. |
I think it is necessary to specify the link type of each library by override in manifest mode. |
Is your feature request related to a problem? Please describe.
Currently the only way to do per port customization of
VCPKG_LIBRARY_LINKAGE
is via CMake MacroPORT
in a triplet file.Example:
That leads to several issues:
For example if we extend a code above by making
fmt
package build a dynamic library (if(PORT MATCHES "qt5-|fmt")
). It will trigger to rebuild all dependencies, but the only effected one isfmt
.Proposed solution
Allow specifying
VCPKG_LIBRARY_LINKAGE
in a similar manner in the manifest file.Describe alternatives you've considered
Alternative way would be to
include
common files between triplets files.Additional context
#19193
The text was updated successfully, but these errors were encountered: