mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-07-10 04:20:23 +02:00
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>
4 lines
116 B
Plaintext
4 lines
116 B
Plaintext
[submodule "deps/expected-lite"]
|
|
path = deps/expected-lite
|
|
url = https://github.com/martinmoene/expected-lite.git
|