[PATCH] D135873: Detect Visual Studio automatically in Windows packaging script
Pierrick Bouvier via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 13 06:24:08 PDT 2022
pbo-linaro created this revision.
Herald added a project: All.
pbo-linaro requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Instead of hardcoding several VS paths, use vswhere.exe (available from
VS 2017) to get latest version available.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D135873
Files:
llvm/utils/release/build_llvm_release.bat
Index: llvm/utils/release/build_llvm_release.bat
===================================================================
--- llvm/utils/release/build_llvm_release.bat
+++ llvm/utils/release/build_llvm_release.bat
@@ -83,14 +83,18 @@
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 use enabled Visual Studio installation
+ set "vsinstall=%VSINSTALLDIR%"
+) else (
+ echo use 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
@@ -359,14 +363,3 @@
: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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135873.467457.patch
Type: text/x-patch
Size: 1716 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221013/e0c13ce7/attachment.bin>
More information about the llvm-commits
mailing list