Skip to content

Commit

Permalink
Detect Visual Studio automatically in Windows packaging script
Browse files Browse the repository at this point in the history
Instead of hardcoding several VS paths, use vswhere.exe (available from
VS 2017) to get latest version available.

Reviewed By: hans, thieta

Differential Revision: https://reviews.llvm.org/D135873
  • Loading branch information
pbo-linaro authored and tru committed Oct 20, 2022
1 parent 50d9bb6 commit b1e5e81
Showing 1 changed file with 12 additions and 19 deletions.
31 changes: 12 additions & 19 deletions llvm/utils/release/build_llvm_release.bat
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,18 @@ REM https://github.com/swig/swig/issues/769
REM

:: Detect Visual Studio
set vsdevcmd=
set vs_2019_prefix=C:\Program Files (x86)\Microsoft Visual Studio\2019
:: try potential activated visual studio, then 2019, with different editions
call :find_visual_studio "%VSINSTALLDIR%"
call :find_visual_studio "%vs_2019_prefix%\Enterprise"
call :find_visual_studio "%vs_2019_prefix%\Professional"
call :find_visual_studio "%vs_2019_prefix%\Community"
call :find_visual_studio "%vs_2019_prefix%\BuildTools"
set vsinstall=
set vswhere=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe

if "%VSINSTALLDIR%" NEQ "" (
echo using enabled Visual Studio installation
set "vsinstall=%VSINSTALLDIR%"
) else (
echo using vswhere to detect Visual Studio installation
FOR /F "delims=" %%r IN ('^""%vswhere%" -nologo -latest -products "*" -all -property installationPath^"') DO set vsinstall=%%r
)
set "vsdevcmd=%vsinstall%\Common7\Tools\VsDevCmd.bat"

if not exist "%vsdevcmd%" (
echo Can't find any installation of Visual Studio
exit /b 1
Expand Down Expand Up @@ -359,14 +363,3 @@ exit /b 0

:parse_args_done
exit /b 0
::==============================================================================
:find_visual_studio
set "vs_install=%~1"
if "%vs_install%" == "" exit /b 1

if "%vsdevcmd%" NEQ "" exit /b 0 :: already found

set "candidate=%vs_install%\Common7\Tools\VsDevCmd.bat"
echo trying VS devcmd: %candidate%
if exist "%candidate%" set "vsdevcmd=%candidate%"
exit /b 0

0 comments on commit b1e5e81

Please sign in to comment.