ci/cd: Windows goes vcpkg manifest + MSVC on the VS 2026 runner
The MinGW path kept fighting the environment (the GitHub image's MSVC INCLUDE/LIB poison the GNU compiles; ocio-sys' fork then dragged the MSVC-only headers into g++ and died on vcruntime.h). The Windows jobs on both workflows now: - run on warp-windows-2025-vs2026-x64-16x (preinstalled VS 2026) with the stable MSVC Rust toolchain; - install dependencies through vcpkg MANIFEST mode: vcpkg.json at the repo root carries FFmpeg with every free codec + hwaccel (mirroring build-ffmpeg.sh's configure), pkgconf and librsvg; the vcpkg_installed tree plus the binary-cache archives are cached on the manifest hash with save-always; - build OCIO bundled (ocio-sys' vendored sources are what MSVC wants — the MSYS2 package was the workaround, not the preference), so OCIO_RS_NO_MSVC_INCLUDES is gone; - ship the vcpkg runtime DLLs next to the binaries in the NSIS installer with a static-CRT release build (no vcruntime DLLs), replacing the ntldd-based MSYS2 bundling. FFmpeg version pinning via builtin-baseline is a documented follow-up: the Configure step logs vcpkg list so the first green run reports the resolved versions. docs/build.md keeps the MSYS2 flow as the local alternative and points at the CI path.
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "oak",
|
||||
"version": "0.5.0",
|
||||
"comment": "Windows dependencies (CI/CD, MSVC): the project's FFmpeg with every free codec + hwaccel (mirrors tooling/ffmpeg/build-ffmpeg.sh's configure), plus pkgconf so the -sys crates can find the .pc files. ffmpeg version pinning via builtin-baseline is a follow-up once CI reports the resolved version (see .github/workflows/ci.yml).",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "ffmpeg",
|
||||
"features": [
|
||||
"gpl",
|
||||
"version3",
|
||||
"x264",
|
||||
"x265",
|
||||
"dav1d",
|
||||
"vpx",
|
||||
"openh264",
|
||||
"openjpeg",
|
||||
"theora",
|
||||
"webp",
|
||||
"mp3lame",
|
||||
"opus",
|
||||
"vorbis",
|
||||
"speex",
|
||||
"snappy",
|
||||
"ass",
|
||||
"freetype",
|
||||
"fribidi",
|
||||
"fontconfig",
|
||||
"gnutls",
|
||||
"ffnvcodec"
|
||||
]
|
||||
},
|
||||
"pkgconf",
|
||||
"librsvg"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user