build: update to VS2026 toolchain#4303
Conversation
|
It's not clear to me that we're actually targeting the VS2022 redistributable...but delvewheel also claims there are no external dependencies. Maybe we're good? |
| PLATFORM: ${{ matrix.os }} | ||
| run: | | ||
| if [[ "${PLATFORM}" == "Windows" ]]; then | ||
| # Target VS2022 |
There was a problem hiding this comment.
No. But I think this isn't needed so I'll just remove it.
| set VCPKG_TARGET_TRIPLET=x64-windows-static | ||
| set VCPKG_TARGET_TRIPLET=x64-windows-static-2019 | ||
| set VCPKG_DEFAULT_HOST_TRIPLET=x64-windows-static-2019 | ||
| set VCPKG_OVERLAY_TRIPLETS=%source_dir%\ci\vcpkg\triplets |
There was a problem hiding this comment.
Why the custom target? A comment would be good (esp. as I don't know).
There was a problem hiding this comment.
Ah, I think I'm caught up. We need to maintain a custom triplet definition so we can set a fixed toolchain which the default set of triplets don't do.
There was a problem hiding this comment.
I'm not actually sure we need to do this or that this actually has any effect. The runners only have 2026 installed, and vcpkg/cmake appear to fall back if it can't find the requested toolchain. Since everything is supposed to now be binary-compatible, I think just letting it use 2026 should be fine.
There was a problem hiding this comment.
We already use the static redistributable, so that shouldn't matter
| set(VCPKG_CRT_LINKAGE static) | ||
| set(VCPKG_LIBRARY_LINKAGE static) | ||
|
|
||
| # Target VS2022 |
There was a problem hiding this comment.
| # Target VS2022 | |
| # Target VS2019 |
This is what I expected this comment to be given https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170.
The Windows images now use VS2026: actions/runner-images#13638
The Windows images now use VS2026:
actions/runner-images#13638