mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2182 Inorder to support VS2019, we add VS2019 config process in Setup Batch Files, Because VS2019 and VS2017 could using same vswhere.exe to detect the InstallationPath, So we add the -version as the parameter of vswhere to get the correct VS2017/VS2019's InstallationPath v3: In BaseTools\set_vsprefix_envs.bat, move WINSDK10_PREFIX setting into VCToolsInstallDir check condition. Cc: Amy Chan <amy.chan@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Ching JenX Cheng <ching.jenx.cheng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Pete Batard <pete@akeo.ie>
101 lines
3.9 KiB
Batchfile
101 lines
3.9 KiB
Batchfile
@REM @file
|
|
@REM Windows batch file to find the Visual Studio set up script
|
|
@REM
|
|
@REM Copyright (c) 2013-2014, ARM Limited. All rights reserved.
|
|
|
|
@REM SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
@REM
|
|
|
|
|
|
@echo off
|
|
set SCRIPT_ERROR=0
|
|
if "%1"=="" goto main
|
|
if /I "%1"=="VS2019" goto VS2019Vars
|
|
if /I "%1"=="VS2017" goto VS2017Vars
|
|
if /I "%1"=="VS2015" goto VS2015Vars
|
|
if /I "%1"=="VS2013" goto VS2013Vars
|
|
if /I "%1"=="VS2012" goto VS2012Vars
|
|
|
|
:set_vsvars
|
|
if defined VCINSTALLDIR goto :EOF
|
|
call %* > vswhereInfo
|
|
for /f "usebackq tokens=1* delims=: " %%i in (vswhereInfo) do (
|
|
if /i "%%i"=="installationPath" (
|
|
call "%%j\VC\Auxiliary\Build\vcvars32.bat"
|
|
)
|
|
)
|
|
del vswhereInfo
|
|
goto :EOF
|
|
|
|
:read_vsvars
|
|
@rem Do nothing if already found, otherwise call vsvars32.bat if there
|
|
if defined VCINSTALLDIR goto :EOF
|
|
set GET_VSVARS_BAT_CHECK_DIR=%*
|
|
set GET_VSVARS_BAT_CHECK_DIR=%GET_VSVARS_BAT_CHECK_DIR:"=%
|
|
if exist "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat" call "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat"
|
|
:vsvars_done
|
|
goto :EOF
|
|
|
|
|
|
:ToolNotInstall
|
|
set SCRIPT_ERROR=1
|
|
goto :EOF
|
|
|
|
REM NOTE: This file will find the most recent Visual Studio installation
|
|
REM apparent from the environment.
|
|
REM To use an older version, modify your environment set up.
|
|
REM (Or invoke the relevant vsvars32 file beforehand).
|
|
|
|
:main
|
|
if defined VCINSTALLDIR goto :done
|
|
:VS2019Vars
|
|
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
|
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools" (
|
|
call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17
|
|
) else (
|
|
call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17
|
|
)
|
|
)
|
|
if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
|
if exist "%ProgramFiles%\Microsoft Visual Studio\2019\BuildTools" (
|
|
call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17
|
|
) else (
|
|
call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17
|
|
)
|
|
)
|
|
if /I "%1"=="VS2019" goto ToolNotInstall
|
|
|
|
:VS2017Vars
|
|
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
|
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools" (
|
|
call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16
|
|
) else (
|
|
call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16
|
|
)
|
|
)
|
|
if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
|
if exist "%ProgramFiles%\Microsoft Visual Studio\2017\BuildTools" (
|
|
call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16
|
|
) else (
|
|
call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16
|
|
)
|
|
)
|
|
if /I "%1"=="VS2017" goto ToolNotInstall
|
|
|
|
:VS2015Vars
|
|
if defined VS140COMNTOOLS (call :read_vsvars "%VS140COMNTOOLS%") else (if /I "%1"=="VS2015" goto ToolNotInstall)
|
|
|
|
:VS2013Vars
|
|
if defined VS120COMNTOOLS ( call :read_vsvars "%VS120COMNTOOLS%") else (if /I "%1"=="VS2013" goto ToolNotInstall)
|
|
|
|
:VS2012Vars
|
|
if defined VS110COMNTOOLS (call :read_vsvars "%VS110COMNTOOLS%") else (if /I "%1"=="VS2012" goto ToolNotInstall)
|
|
|
|
if defined VS100COMNTOOLS call :read_vsvars "%VS100COMNTOOLS%"
|
|
if defined VS90COMNTOOLS call :read_vsvars "%VS90COMNTOOLS%"
|
|
if defined VS80COMNTOOLS call :read_vsvars "%VS80COMNTOOLS%"
|
|
if defined VS71COMNTOOLS call :read_vsvars "%VS71COMNTOOLS%"
|
|
|
|
:done
|
|
set GET_VSVARS_BAT_CHECK_DIR=
|