This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
A custom vcpkg registry for Windscribe. It contains:
ports/— Port overrides and additions to the official vcpkg registry (16 ports)triplets/— Custom build triplets, all prefixedws-, all release-onlyinstall-vcpkg/— Scripts that pin, patch, and install a specific vcpkg commitversions/— vcpkg versioning database (baseline + per-port version history)
# Linux / macOS
./install-vcpkg/vcpkg_install.sh <VCPKG_PATH>
# Windows
install-vcpkg\vcpkg_install.bat <VCPKG_PATH>The scripts detect the current vcpkg commit via install-vcpkg/vcpkg_commit.txt, reinstall if there's a mismatch, apply two patches from install-vcpkg/patches/, and copy all triplets into <VCPKG_PATH>/triplets/.
Each port under ports/<name>/ contains:
vcpkg.json— Metadata: name, version, port-version, description, dependencies, featuresportfile.cmake— Build instructions: download, configure, installusage(optional) — CMake usage example for consumers*.patch/*.diff— Patches applied during buildunix/,windows/directories — Platform-specific files when needed
When updating a port's version:
- Update
ports/<name>/vcpkg.jsonwith the newversion(and reset or incrementport-version) - Update
versions/baseline.jsonto reflect the new baseline version - Update
versions/<first-letter>-/<portname>.jsonwith a new entry including thegit-treehash
The git-tree hash is the SHA of the ports/<name>/ directory tree object in git:
git rev-parse HEAD:ports/<name>Increment port-version (without changing version) when the port behavior changes but the upstream version does not (e.g., patch changes, portfile fixes).
All custom triplets are named ws-<arch>-<platform>[.cmake] and live in triplets/. Key properties:
- All set
VCPKG_BUILD_TYPE release(release-only builds) - All set
VCPKG_LIBRARY_LINKAGE static - Android triplets use
VCPKG_CMAKE_CONFIGURE_OPTIONSfor ABI selection ws-universal-osx.cmakesetsVCPKG_TARGET_ARCHITECTURE "arm64;x86_64"for fat binaries
After adding or modifying a triplet, re-run the install script to copy it into vcpkg.
- Update the commit SHA in
install-vcpkg/vcpkg_commit.txt - Verify both patches in
install-vcpkg/patches/still apply cleanly against the new commit - If a patch fails, rebase it against the new vcpkg source and commit the updated patch alongside the new hash
vcpkg_configure_cmake.patch— PassesCMAKE_SYSTEM_NAME=tvOSwhen building forappletvos/appletvsimulatorios_toolchain.patch— Extends the iOS toolchain to setCMAKE_SYSTEM_NAME=tvOSfor tvOS targets