BaseTools: Fix the issue in VS prefix setting for VS2017/VS2019

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2896

When VS2017/VS2019 are both installed. VS prefix setting will
wrongly be set. VS2017_PREFIX is set to the same value of VS2019.

This patch clears VSINSTALLDIR and VCToolsVersion env, then
the different vcvars32 can set the correct VS env.

Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
Liming Gao 2020-08-13 14:40:40 +08:00 committed by mergify[bot]
parent a5110b8955
commit 24758e993a
1 changed files with 6 additions and 0 deletions

View File

@ -110,6 +110,9 @@ if /I "%1"=="VS2015" goto SetWinDDK
:SetVS2017
if not defined VS150COMNTOOLS (
@REM clear two envs so that vcvars32.bat can run successfully.
set VSINSTALLDIR=
set VCToolsVersion=
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16 > vswhereInfo
@ -166,6 +169,9 @@ if not defined WINSDK_PATH_FOR_RC_EXE (
:SetVS2019
if not defined VS160COMNTOOLS (
@REM clear two envs so that vcvars32.bat can run successfully.
set VSINSTALLDIR=
set VCToolsVersion=
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17 > vswhereInfo