Skip to content

Rearchitect vcpkg port for official submission#1466

Open
bmehta001 wants to merge 4 commits into
microsoft:mainfrom
bmehta001:bhamehta/vcpkg-port-clean
Open

Rearchitect vcpkg port for official submission#1466
bmehta001 wants to merge 4 commits into
microsoft:mainfrom
bmehta001:bhamehta/vcpkg-port-clean

Conversation

@bmehta001
Copy link
Copy Markdown
Contributor

@bmehta001 bmehta001 commented Jun 5, 2026

This replaces #1414 with a clean history based directly on current main. The earlier PR had accumulated too much unrelated branch history, so this PR carries only the vcpkg/CMake port layer.

Goals:

  • Build the SDK as a vcpkg overlay port using CMake, not legacy scripts/MSBuild.
  • Use vcpkg-provided dependencies when building under the vcpkg toolchain.
  • Install CMake package config/targets for downstream consumers.
  • Add consumer validation scripts for Windows, Linux, macOS, iOS, and Android.

Scope:

  • CMake vcpkg dependency mode and install/export support.
  • Modern tools/ports/mstelemetry overlay port files.
  • tests/vcpkg consumer project and platform scripts.
  • Example/docs/wrapper CMake updates needed for vcpkg consumption.
  • tools/vcpkg submodule update for local validation with current VS/toolchain support.

Not in scope:

Validation performed:

  • Hand-authored vcpkg/CMake files pass git diff --check.
  • Windows CMake configure passed with vendored deps (MATSDK_USE_VCPKG_DEPS=OFF).
  • Android top-level CMake mat build passed with vendored sqlite/zlib and Android-specific PAL sources.
  • Verified upstream archive SHA512 used by tools/ports/mstelemetry/portfile.cmake.
  • Windows vcpkg consumer test passed (x64-windows-static, C++11 consumer project, vcpkg_test 7/7).
  • Linux vcpkg consumer test passed from WSL ext4 (x64-linux, vcpkg_test 7/7).
  • Android vcpkg cross-build passed (arm64-android / arm64-v8a) using Windows-hosted Android NDK 29.
  • Shell syntax checks passed for Linux, macOS, iOS, and Android vcpkg scripts.

Follow-up after this merges:

  • Submit the official port to microsoft/vcpkg using this repo's merged commit/tag as the source.
  • Decide whether to keep or remove the in-repo overlay port after the official vcpkg port is available.
  • Cut a release/tag only if the official vcpkg port should target a stable release rather than a source commit.

bmehta001 and others added 2 commits June 5, 2026 12:53
Add a clean vcpkg-oriented CMake and overlay-port path so the SDK can be consumed through vcpkg across the supported platform set. This keeps vendored dependency builds available by default while enabling vcpkg-provided sqlite, zlib, nlohmann-json, and curl when the vcpkg toolchain is active.

Files changed: CMake install/config support, overlay port metadata, vcpkg consumer tests, examples/docs, Obj-C/Swift wrapper source selection, and vcpkg test workflow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Point the overlay mstelemetry port at the clean vcpkg source snapshot in this replacement PR and update the archive SHA512 used by vcpkg_from_github.

Files changed: tools/ports/mstelemetry/portfile.cmake

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bmehta001 bmehta001 requested a review from a team as a code owner June 5, 2026 17:57
@bmehta001 bmehta001 requested a review from Copilot June 5, 2026 18:56
@bmehta001 bmehta001 self-assigned this Jun 5, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 41 out of 43 changed files in this pull request and generated no new comments.

bmehta001 and others added 2 commits June 5, 2026 19:26
Use Android-specific PAL implementations when the top-level CMake path targets Android, and remove the missing bundled zlib simd_stub source from the Android legacy dependency path. Also make the vcpkg consumer test build as C++11 to match the SDK consumer compatibility posture.

Files changed: lib/CMakeLists.txt, tests/vcpkg/CMakeLists.txt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update the overlay port REF and SHA512 to the source snapshot that includes the Android CMake source fixes and C++11 vcpkg consumer test.

Files changed: tools/ports/mstelemetry/portfile.cmake

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bmehta001 bmehta001 force-pushed the bhamehta/vcpkg-port-clean branch from 6900a6a to 79b1807 Compare June 6, 2026 00:26
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.

2 participants