Files
PowerToys/.gitmodules
Boliang Zhang (from Dev Box) 8cffb59279 review feedback (DHowett): drop vcpkg submodule, use Visual Studio's vcpkg via VCPKG_ROOT
Addresses https://github.com/microsoft/PowerToys/pull/48039#pullrequestreview-4338835150
and the inline comment "why did this file get reformatted?" on .gitmodules.

Mirrors the pattern used by microsoft/terminal so developers can rely on the
vcpkg shipped with Visual Studio (`Microsoft.VisualStudio.Component.Vcpkg`),
override it via the VCPKG_ROOT env var, or fall back to a local clone — all
without the PowerToys repo carrying its own vcpkg submodule.

What changes
------------
- Remove `deps/vcpkg` as a git submodule:
  - Drop the [submodule "deps/vcpkg"] entry from .gitmodules and restore the
    surrounding formatting (the previous rewrite collapsed tabs and dropped
    the trailing newline; this brings the file back to a clean removal of
    just the spdlog block plus the existing expected-lite block).
  - Add `deps/vcpkg/` to .gitignore so a runtime fallback clone there isn't
    tracked.

- New reusable pipeline template `.pipelines/v2/templates/steps-install-vcpkg.yml`
  adapted from microsoft/terminal's `steps-install-vcpkg.yml`:
  prefers VS-shipped vcpkg via vswhere, falls back to cloning microsoft/vcpkg
  into deps/vcpkg and bootstrapping if VS doesn't have it; sets the
  pipeline-scoped VCPKG_ROOT variable either way.

- `.pipelines/v2/templates/job-build-project.yml`: use the new template
  instead of the inline bootstrap-vcpkg call. The Cache@2 key no longer
  references the (gone) deps/vcpkg HEAD.

- `deps/spdlog.props`: implement the same three-tier VcpkgRoot fallback as
  terminal/src/common.build.pre.props#L290-L293 :
    1. $(VCPKG_ROOT) (env var; CI sets this, build-essentials sets this)
    2. $(VsInstallRoot)\VC\vcpkg (VS-shipped vcpkg)
    3. $(RepoRoot)deps\vcpkg (runtime-cloned fallback)
  Also adopt VcpkgUseStatic + VcpkgPlatformTarget so the static-CRT triplet
  is derived rather than hard-coded per Platform.

- `tools/build/build-essentials.ps1`: same vswhere-first detection for local
  dev. Clones + bootstraps to deps/vcpkg only if VS doesn't ship vcpkg.
  Idempotent; sets VCPKG_ROOT for subsequent MSBuild invocations.

- `.github/actions/spell-check/expect.txt`: add 6 words newly introduced by
  the spdlog migration (buildsystems, DSPDLOG, portfile, SCL, stdext,
  toolsets) to clear the check-spelling CI failure.

Verification
------------
Local Debug|x64 build of src/common/logger/logger.vcxproj green (~50 s) via
the third fallback (runtime-cloned deps/vcpkg at tag 2026.04.27). The
VS-shipped vcpkg on my Dev Box happens to be the older 2026-02-21 release
which has a stale-lock issue when invoked through MSBuild integration on
this machine; CI agents with newer VS installs should land directly on the
first or second tier.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-26 23:35:47 +08:00

4 lines
116 B
Plaintext

[submodule "deps/expected-lite"]
path = deps/expected-lite
url = https://github.com/martinmoene/expected-lite.git