Skip to content

Disable vcpkg applocal for static Windows builds - #1023

Open
thedavidweng wants to merge 1 commit into
projectM-visualizer:masterfrom
thedavidweng:fix/windows-static-applocal
Open

Disable vcpkg applocal for static Windows builds#1023
thedavidweng wants to merge 1 commit into
projectM-visualizer:masterfrom
thedavidweng:fix/windows-static-applocal

Conversation

@thedavidweng

@thedavidweng thedavidweng commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Fixes the recurring Windows CI flake where the Release build fails with MSB3073 (exit code 32, sharing violation) in the vcpkg post-build step, e.g. 'vcpkg.exe z-applocal --target-binary=.../projectM-unittest.exe'.

Root cause: that post-build step exists only to deploy dependent DLLs next to executables (VCPKG_APPLOCAL_DEPS in the vcpkg toolchain). The static matrix legs use -static triplets with a static CRT and fully static linking, so there are no DLLs to deploy, the step is a no-op that still opens the freshly linked exe, exposing the build to a file-lock race (Defender scan / concurrent post-build events of the two unittest projects).

Change: pass -DVCPKG_APPLOCAL_DEPS=OFF whenever matrix.libs == static, in both configure blocks (main build and C++ interface test). Shared legs are untouched and keep DLL deployment for ctest. No build-output change: static executables are self-contained, and install/upload steps are unaffected.

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.

1 participant