Custom vcpkg ports, triplets, and installation scripts for Windscribe.
Overrides and additions to the official vcpkg registry.
Custom triplets in the triplets/ directory. All build release-only to reduce build times.
Includes triplets for: iOS, tvOS (device + simulator), macOS universal (arm64+x86_64), Linux and Windows static.
All triplet names are prefixed with ws- (e.g. ws-arm64-osx, ws-x64-linux) to avoid shadowing vcpkg's built-in triplets.
The installation scripts (vcpkg_install.sh / vcpkg_install.bat) automatically copy all .cmake files from triplets/ into <VCPKG_PATH>/triplets/ every time they run. No manual copying or VCPKG_OVERLAY_TRIPLETS configuration is needed.
- Commit and push the changes to this repository.
- Re-run the installation script, it will copy the updated triplets to
<VCPKG_PATH>/triplets/automatically:
# Linux / macOS
./install-vcpkg/vcpkg_install.sh <VCPKG_PATH>
# Windows
install-vcpkg\vcpkg_install.bat <VCPKG_PATH>Scripts in install-vcpkg/ install a pinned version of vcpkg. They skip reinstallation if the correct commit is already present.
Clone the registry and run locally:
git clone https://github.com/Windscribe/ws-vcpkg-registry.git
# Linux / macOS
./ws-vcpkg-registry/install-vcpkg/vcpkg_install.sh <VCPKG_PATH>
# Windows
ws-vcpkg-registry\install-vcpkg\vcpkg_install.bat <VCPKG_PATH>After cloning, the following patches from install-vcpkg/patches/ are automatically applied to vcpkg:
vcpkg_configure_cmake.patch— passes correctCMAKE_SYSTEM_NAME=tvOSwhen building forappletvos/appletvsimulatorsysrootios_toolchain.patch— extends the iOS toolchain to setCMAKE_SYSTEM_NAME=tvOSfor tvOS targets instead ofiOS
The pinned commit hash is stored in install-vcpkg/vcpkg_commit.txt. To update vcpkg to a newer version:
- Pick a commit from microsoft/vcpkg (e.g. the latest
main):
git ls-remote https://github.com/microsoft/vcpkg refs/heads/master-
Replace the hash in
install-vcpkg/vcpkg_commit.txtwith the new commit SHA. -
Verify the patches still apply cleanly. The two patches in
install-vcpkg/patches/are applied on top of the vcpkg source after cloning. If vcpkg changed the patched files, the patches may need to be rebased:
# Clone the new vcpkg commit manually and test
git clone https://github.com/microsoft/vcpkg.git /tmp/vcpkg-test
cd /tmp/vcpkg-test
git checkout <NEW_COMMIT>
git apply /path/to/ws-vcpkg-registry/install-vcpkg/patches/vcpkg_configure_cmake.patch
git apply /path/to/ws-vcpkg-registry/install-vcpkg/patches/ios_toolchain.patch-
If a patch fails, update it to match the new vcpkg source, then commit both the new hash and the updated patch together.
-
Commit and push the changes. CI and local developers will automatically get the new vcpkg version the next time they run the installation script — the script detects the commit mismatch, removes the old installation, and reinstalls from scratch.