Recently, I am trying to build compile cache on CI. The layout of our project is a virtual worksapce with multiple members. It is wierd that running cargo build -p xxx
after cargo build --workspace
doesn't use compile cache. After checking the fingerprints
under the target
direcgtory, I found that the same member with different fingerprint file. I'm curious how cargo
calculating the fingerprint
of a package member? Thanks.
You can find documentation here:
Thanks for reply, I have read the doc already, but my problem hasn't been solved completely, because -p
and --workspace
won't change mtime
and dep_info
but fingerprint changed, am i missing anything?
The same crate will get multiple builds if you have multiple targets, for example a build script, or both a lib and bin, or multiple crate types?