From 24758e993ae46d0dd304c772c0fe85a3c287c855 Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Thu, 13 Aug 2020 14:40:40 +0800 Subject: 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 Cc: Bob Feng Cc: Yuwei Chen Reviewed-by: Bob Feng --- BaseTools/set_vsprefix_envs.bat | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'BaseTools') diff --git a/BaseTools/set_vsprefix_envs.bat b/BaseTools/set_vsprefix_envs.bat index 38fb0eb260..2627587ba3 100644 --- a/BaseTools/set_vsprefix_envs.bat +++ b/BaseTools/set_vsprefix_envs.bat @@ -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 -- cgit v1.2.3