I still don't get the algorithm that determines whether #vcpkg re-uses a cached binary or re-builds from source.

I get that it is determined by the ABI checksum/hash that vcpkg calculates, I just utterly do not understand the set of factors that might influence the ABI hash calculation.

#WhyVcpkgWhy #LegacyCodeProblems

Obvious sources of a #vcpkg package ABI hash:

✅ vcpkg tool/binary
✅ The microsoft/vcpkg repo root in use (due to the `scripts` directory containing CMake definitions etc.)
✅ Compiler(s) (version) (something like a hash of the compiler binary similar to the approach used by ccache, and sccache)
❓ vcpkg triplet. Is the content of the vcpkg triplet file in play or is it just the triplet name?
❓ vcpkg overlay triplets
✅ portfile and/or hash of the port directory

#WhyVcpkgWhy #LegacyCodeProblems

Troubleshoot binary caching issues

Troubleshooting guide for common binary caching issues