BaseTools: Update VS batch file to auto detect VS2017

This way depends on VS vswhere.exe to find VS2017 installed directory.
vswhere.exe starts in Visual Studio 2017 version 15.2.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Signed-off-by: Pete Batard <pete@akeo.ie>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
(cherry picked from commit 7dddedc8b2)
This commit is contained in:
Liming Gao
2017-11-23 00:26:09 +08:00
parent 242fc42229
commit 93cd52af55
2 changed files with 40 additions and 1 deletions

View File

@@ -3,7 +3,7 @@
@REM however it may be executed directly from the BaseTools project folder
@REM if the file is not executed within a WORKSPACE\BaseTools folder.
@REM
@REM Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
@REM Copyright (c) 2016-2017, Intel Corporation. All rights reserved.<BR>
@REM
@REM This program and the accompanying materials are licensed and made available
@REM under the terms and conditions of the BSD License which accompanies this
@@ -90,6 +90,37 @@ if defined VS140COMNTOOLS (
)
)
@REM set VS2017
if not defined VS150COMNTOOLS (
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
for /f "usebackq tokens=1* delims=: " %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"`) do (
if /i "%%i"=="installationPath" call "%%j\VC\Auxiliary\Build\vcvars32.bat"
)
) else if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (
for /f "usebackq tokens=1* delims=: " %%i in (`"%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe"`) do (
if /i "%%i"=="installationPath" call "%%j\VC\Auxiliary\Build\vcvars32.bat"
)
) else (
goto SetWinDDK
)
)
if defined VCToolsInstallDir (
if not defined VS2017_PREFIX (
set "VS2017_PREFIX=%VCToolsInstallDir%"
)
)
if not defined WINSDK10_PREFIX (
if defined WindowsSdkVerBinPath (
set "WINSDK10_PREFIX=%WindowsSdkVerBinPath%"
) else if exist "%ProgramFiles(x86)%\Windows Kits\10\bin" (
set "WINSDK10_PREFIX=%ProgramFiles(x86)%\Windows Kits\10\bin\"
) else if exist "%ProgramFiles%\Windows Kits\10\bin" (
set "WINSDK10_PREFIX=%ProgramFiles%\Windows Kits\10\bin\"
)
)
:SetWinDDK
if not defined WINDDK3790_PREFIX (
set WINDDK3790_PREFIX=C:\WINDDK\3790.1830\bin\
)