Currently I use cmake + vcpkg configured under manifest mode to query a remote registry (defined in vcpkg-configuration.json) for package dependency. It works fine for a first run – packages have been built/installed under “vcpkg_installed” folder. I also noticed that there are UUID folders containing vcpkg.json and portfile.cmake for the packages under folder %APPDATA%/local/vcpkg/git-tree.
Now I would like to freeze a few packages’ versions and there is really no need to query the remote registry every time the code is rebuilt. But it seems that every time a rebuild is triggered, vcpkg will always first try to query the remote registry as part of the work flow, only to report that “all required packages have been installed” in the end. If I remove the remote registry, it will complain about missing package versions etc.
To stop this querying behavior, given that the package info is already downloaded into git-tree folder, how can I create a local registry to have vcpkg query it instead and still resolve to “all required packages have been installed”?
Looking at the example here, is it that all I need to do is simply copying what has been downloaded to git-tree (renamed from UUID) into a “ports” folder and add a “version/baseline.json” with the default text:
{
"default": {}
}
then check this into a git folder. Then on the project side, change vcpkg-configuration to point to the local git folder and then change the “baseline” to the latest commit ID?
Thank you.