- vcpkg: recommend 2025.12.12 or later
- vcpkg-tool: recommend 2025-12-16 or later
Quick References
- Microsoft C++ Team Blog: https://devblogs.microsoft.com/cppblog/
- GitHub Topics
vcpkg-registry: https://github.com/topics/vcpkg-registry- Discussions https://github.com/microsoft/vcpkg/discussions
- Vcpkg documentation: https://learn.microsoft.com/en-us/vcpkg/
- Vcpkg mainstream: https://github.com/microsoft/vcpkg
- Vcpkg configuration
Follow the official Getting Started Guide to setup your environment. Don't forget to check the vcpkg environment variables are correct.
- Required environment variables?
VCPKG_ROOTto integrate with toolchains. For example,C:\vcpkgor/usr/local/shared/vcpkgPATHto runvcpkgCLI program.
Use vcpkg help command to get descriptions and test the CLI executable works.
Commonly used commands can be checked with:
vcpkg help install
vcpkg help remove
vcpkg help search
Simply clone the repository and use path for the vcpkg commands.
For example, you can put the registry files just under VCPKG_ROOT for easy navigation.
$env:VCPKG_ROOT="C:/vcpkg"
Set-Location $env:VCPKG_ROOT
git clone "https://github.com/luncliff/vcpkg-registry"
Pop-Locationexport VCPKG_ROOT="/usr/local/share/vcpkg"
pushd $VCPKG_ROOT
git clone https://github.com/luncliff/vcpkg-registry
popdConfirm the files are like our expectation.
user@host:~/vcpkg$ tree -L 2 ./vcpkg-registry/
./vcpkg-registry/
├── docs
│ ├── guide-*.md
│ └── references.md
├── README.md
├── .github
│ ├── workflows/
│ └── prompts/
├── versions
│ ├── ... # files for vcpkg manifest mode
│ └── baseline.json
├── ports
│ ├── ... # files for --overlay-ports
│ ├── openssl3
│ └── tensorflow-lite
└── triplets
├── ... # files for --overlay-triplets
├── arm64-android.cmake
└── x64-ios-simulator.cmakeBoth vcpkg's classic mode and manifest mode are available.
- classic mode:
vcpkg installwith overlay(--overlay-portsand--overlay-triplets). - manifest mode: use the git repository in vcpkg-configuration.json file.
The vcpkg command may need more detailed options or switches to work properly.
with Overlay Ports (Classic)
Just provide the path of port/ folder.
user@host:~/vcpkg$ ./vcpkg install --overlay-ports="registry/ports" cpuinfoIf it doesn't work, check the command options.
user@host:~/vcpkg$ ./vcpkg help install
...
Options:
...
--overlay-ports=<path> Specify directories to be used when searching for ports
(also: $VCPKG_OVERLAY_PORTS)
...with Overlay Triplets (Classic)
The triplets/ folder contains CMake scripts for Android NDK and iOS Simulator SDK.
You can use envionment variable VCPKG_OVERLAY_TRIPLETS, but I recomment you to use --overlay-triplets to avoid confusion.
vcpkg install --overlay-triplets="vcpkg-registry/triplets" --triplet x64-ios-simulator zlib-ngIf it doesn't work, check the command options.
user@host:~/vcpkg$ ./vcpkg help install
...
Options:
...
--overlay-triplets=<path> Specify directories containing triplets files
(also: $VCPKG_OVERLAY_TRIPLETS)
...For more detailed usage, check the vcpkg documents.
Note
Triplets won't affect your project's configuration and build.
These files are not for VCPKG_CHAINLOAD_TOOLCHAIN_FILE.
With the baseline and version JSON files in versions/ folder, you can use
For registry customization, create your vcpkg-configuration.json.
user@host:~/vcpkg$ cat ./vcpkg-configuration.json | jq
{
"registries": [
...The sample configuration can be like this.
The ports/ folder contains openssl3 and tensorflow-lite. Put them in the "packages".
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
"default-registry": {
"kind": "git",
"repository": "https://github.com/Microsoft/vcpkg",
"reference": "2025.12.12",
"baseline": "84bab45d415d22042bd0b9081aea57f362da3f35"
},
"registries": [
{
"kind": "git",
"repository": "https://github.com/luncliff/vcpkg-registry",
"reference": "main",
"baseline": "0000...",
"packages": [
"openssl3",
"tensorflow-lite"
]
}
]
}- 🌱 .github/prompts: GitHub Copilot Prompt Designs
- 🚧 .github/agents experiment in progress. Currently no files.
The work is for the community.
CC0 1.0 Public Domain for all files.
However, the repository is holding The Unlicense for possible future, software related works. Especially for nested source files, not the distributed source files of the other projects.