From f4c856a662a4107d8c42f6ef431e3a73cede30ea Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Wed, 13 May 2026 11:50:12 +0200 Subject: [PATCH 1/2] Lookup 'vcvarsall.bat' path and invoke it Don't hardcode the versions. --- erts/etc/win32/wsl_tools/SetupWSLcross.bat | 61 +++------------------- 1 file changed, 7 insertions(+), 54 deletions(-) diff --git a/erts/etc/win32/wsl_tools/SetupWSLcross.bat b/erts/etc/win32/wsl_tools/SetupWSLcross.bat index 0e8d9348c188..e916cf26e930 100644 --- a/erts/etc/win32/wsl_tools/SetupWSLcross.bat +++ b/erts/etc/win32/wsl_tools/SetupWSLcross.bat @@ -8,62 +8,15 @@ IF "%~1"=="x64" GOTO search GOTO badarg :search -IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) -IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) +SET VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" +FOR /F "delims=" %%P IN ('%VSWHERE% -latest -property installationPath') DO ( + SET "VCVARSALL=%%P\VC\Auxiliary\Build\vcvarsall.bat" + ) -IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %~1 > nul - goto continue -) - -IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat". ( - call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %~1 > nul - goto continue -) - -GOTO no_vcvars +IF NOT DEFINED VCVARSALL GOTO no_vcvars +IF NOT EXIST "%VCVARSALL%" GOTO no_vcvars +call "%VCVARSALL%" %~1 > nul :continue From c63fd30db4e0bbe410317ff213d0eaa2b6fb8d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Backstr=C3=B6m?= Date: Tue, 11 Aug 2026 10:30:38 +0200 Subject: [PATCH 2/2] gh: Use image OS as wxwidget cache key and fix windows vcvars path Fixes bug introduced in #10547 --- .github/workflows/main.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index b42c2613fa43..f81ecbf4184c 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -284,11 +284,17 @@ jobs: choco install openssl --version=3.1.1 IF EXIST "c:\\Program Files\\OpenSSL-Win64" (move "c:\\Program Files\\OpenSSL-Win64" "c:\\OpenSSL-Win64") ELSE (move "c:\\Program Files\\OpenSSL" "c:\\OpenSSL-Win64") + - name: Identify the runner image + id: image + env: + WSLENV: GITHUB_OUTPUT/p:ImageOS + run: echo "os=${ImageOS:-unknown}" >> "$GITHUB_OUTPUT" + - name: Cache wxWidgets uses: actions/cache@v4.0.2 with: path: wxWidgets - key: wxWidgets-${{ env.WXWIDGETS_VERSION }}-${{ runner.os }} + key: wxWidgets-${{ env.WXWIDGETS_VERSION }}-${{ steps.image.outputs.os }} # actions/cache on Windows sometimes does not set cache-hit even though there was one. Setting it manually. - name: Set wxWidgets cache @@ -323,7 +329,11 @@ jobs: shell: cmd run: | cd wxWidgets\\build\\msw - call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\Auxiliary\\Build\\vcvars64.bat" + SET VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" + FOR /F "delims=" %%P IN ('%VSWHERE% -latest -property installationPath') DO ( + SET "VCVARSALL=%%P\VC\Auxiliary\Build\vcvarsall.bat" + ) + call "%VCVARSALL%" x64 nmake TARGET_CPU=amd64 BUILD=release SHARED=0 DIR_SUFFIX_CPU= -f makefile.vc - name: Download source archive