Skip to content

[WIP] Add vcpkg cross-platform triplets and registry port definitions for sfmt, gklib, ispc-texcomp#80

Draft
Copilot wants to merge 9 commits intodevfrom
copilot/check-custom-registry-vcpkg
Draft

[WIP] Add vcpkg cross-platform triplets and registry port definitions for sfmt, gklib, ispc-texcomp#80
Copilot wants to merge 9 commits intodevfrom
copilot/check-custom-registry-vcpkg

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 24, 2026

Enables vcpkg-based builds across Android, iOS, macOS, Linux, and Windows by adding custom triplets and preparing the missing port definitions for the Zhuyin-Graphics/vcpkg-registry.

Custom triplets (triplets/)

Static-linkage triplets for all target platforms:

  • arm64-android (API 31), arm64-ios (13.0+), arm64-osx, x64-osx, x64-linux, x64-windows-static

VCPKG_OVERLAY_TRIPLETS is set before project() so vcpkg discovers them automatically:

if (_sky_vcpkg_detected)
    set(VCPKG_OVERLAY_TRIPLETS "${CMAKE_CURRENT_SOURCE_DIR}/triplets" CACHE STRING "" FORCE)

Registry port definitions (registry/)

Port files for the three packages routed through the custom registry (vcpkg-configuration.json) but not yet present in Zhuyin-Graphics/vcpkg-registry:

Port Version Key patch
sfmt 1.5.4 Adds CMakeLists.txt with cmake export targets; removes MSVC #define inline
gklib 5.1.1 Fixes install rules, adds export targets, drops test subdir
ispc-texcomp 2024-01-01 Uses existing CMakeLists.txt from bluesky013/ISPCTextureCompressor

SHA512 and git-tree hashes are intentional placeholders — computed at registry submission time via vcpkg x-add-version. See registry/README.md for the submission workflow.

CI (cmake.yml)

  • Added build-vcpkg-linux job (ubuntu-latest, x64-linux)
  • Added build-vcpkg-macos job (macos-14 Apple Silicon, arm64-osx)
Original prompt

帮我看一下当前的三方库构建流程,是否可以切换成自定义 registry vcpkg


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits March 24, 2026 02:05
Add vcpkg manifest mode support alongside the existing 3RD_PATH-based
build. When CMAKE_TOOLCHAIN_FILE points to vcpkg, the build auto-detects
and uses vcpkg packages; otherwise the legacy python/third_party.py
workflow continues to work unchanged.

New files:
- vcpkg.json: manifest listing all dependencies with optional features
- vcpkg-configuration.json: default + custom registry (bluesky013/sky-vcpkg-registry)
- cmake/vcpkg.cmake: bridge that creates 3rdParty:: targets from vcpkg

Modified files:
- CMakeLists.txt: map SKY_BUILD_* options to VCPKG_MANIFEST_FEATURES
- cmake/options.cmake: add SKY_USE_VCPKG option
- cmake/thirdparty.cmake: auto-detect vcpkg vs legacy mode
- .github/workflows/cmake.yml: add vcpkg CI job

Co-authored-by: bluesky013 <35895395+bluesky013@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bluesky013/SkyEngine/sessions/eade4691-4288-4e3e-869b-d626ec188c91
Copilot AI changed the title [WIP] Review third-party library build process for custom registry vcpkg feat: add vcpkg custom registry support for third-party dependencies Mar 24, 2026
Copilot AI requested a review from bluesky013 March 24, 2026 02:08
… pins

- vcpkg-configuration.json: change custom registry from bluesky013/sky-vcpkg-registry
  to Zhuyin-Graphics/vcpkg-registry with baseline 303d3f22
- vcpkg.json: update boost version>= to 1.88.0 (from thirdparty.json tag boost-1.88.0)
- vcpkg.json: add overrides section pinning versions from thirdparty.json tags:
  boost 1.88.0, sdl2 2.32.6, taskflow 3.7.0, vma 3.2.1,
  glslang 15.3.0, spirv-cross 1.4.313.0, tracy 0.11.1

Co-authored-by: bluesky013 <35895395+bluesky013@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bluesky013/SkyEngine/sessions/709f2c17-ffc8-4542-92b3-9fd48942ebdf
Copilot AI changed the title feat: add vcpkg custom registry support for third-party dependencies Switch to Zhuyin-Graphics/vcpkg-registry with version pins from thirdparty.json Mar 24, 2026
- Add custom triplet files for arm64-android, arm64-ios, arm64-osx,
  x64-osx, x64-linux, x64-windows-static in triplets/
- Set VCPKG_OVERLAY_TRIPLETS in CMakeLists.txt before project() so
  vcpkg can find custom triplets for Android and iOS builds
- Add Linux (ubuntu-latest) and macOS (macos-14 ARM) CI build jobs
  using vcpkg to verify cross-platform support

Co-authored-by: bluesky013 <35895395+bluesky013@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bluesky013/SkyEngine/sessions/f99bbe0f-866d-458d-81ed-9c39c71bc129
Copilot AI changed the title Switch to Zhuyin-Graphics/vcpkg-registry with version pins from thirdparty.json Add cross-platform vcpkg support with custom registry, triplets, and version pinning Mar 24, 2026
Prepare port files for submission to Zhuyin-Graphics/vcpkg-registry:
- ports/sfmt: SFMT v1.5.4 with CMakeLists.txt patch and inline fix
- ports/gklib: GKlib v5.1.1 with CMake install/export patch
- ports/ispc-texcomp: ISPC Texture Compressor port
- versions/baseline.json with all port baselines
- README with submission instructions

SHA512 hashes and git-tree hashes are placeholders to be
computed when the ports are added to the actual registry.

Co-authored-by: bluesky013 <35895395+bluesky013@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bluesky013/SkyEngine/sessions/ab00aac0-1112-448f-88ad-8b3b2837e3a5
Copilot AI changed the title Add cross-platform vcpkg support with custom registry, triplets, and version pinning Add vcpkg cross-platform triplets and registry port definitions for sfmt, gklib, ispc-texcomp Mar 24, 2026
@yiwenxue yiwenxue changed the title Add vcpkg cross-platform triplets and registry port definitions for sfmt, gklib, ispc-texcomp [WIP] Add vcpkg cross-platform triplets and registry port definitions for sfmt, gklib, ispc-texcomp Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants