| @echo off | |
| :: Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights | |
| :: reserved. Use of this source code is governed by a BSD-style license | |
| :: that can be found in the LICENSE file. | |
| :: Set up the environment for use with MSVS tools and then execute whatever | |
| :: was specified on the command-line. | |
| set RC= | |
| :: Support !! syntax for delayed variable expansion. | |
| setlocal enabledelayedexpansion | |
| :: Require that platform is passed as the first argument. | |
| if "%1" == "win32" ( | |
| set vcvarsbat=vcvars32.bat | |
| ) else if "%1" == "win64" ( | |
| set vcvarsbat=vcvars64.bat | |
| ) else if "%1" == "winarm64" ( | |
| set vcvarsbat=vcvarsamd64_arm64.bat | |
| ) else ( | |
| echo ERROR: Please specify a target platform: win32, win64 or winarm64 | |
| set ERRORLEVEL=1 | |
| goto end | |
| ) | |
| :: Check if vcvars is already provided via the environment. | |
| set vcvars="%CEF_VCVARS%" | |
| if %vcvars% == "none" goto found_vcvars | |
| if exist %vcvars% goto found_vcvars | |
| :: Search for the default VS installation path. | |
| for %%x in ("%PROGRAMFILES(X86)%" "%PROGRAMFILES%") do ( | |
| for %%y in (2019 2017) do ( | |
| for %%z in (Professional Enterprise Community BuildTools) do ( | |
| set vcvars="%%~x\Microsoft Visual Studio\%%y\%%z\VC\Auxiliary\Build\%vcvarsbat%" | |
| if exist !vcvars! goto found_vcvars | |
| ) | |
| ) | |
| ) | |
| echo ERROR: Failed to find vcvars | |
| set ERRORLEVEL=1 | |
| goto end | |
| :found_vcvars | |
| echo vcvars: | |
| echo %vcvars% | |
| if not %vcvars% == "none" ( | |
| :: Set this variable to keep VS2017 < 15.5 from changing the current working directory. | |
| set "VSCMD_START_DIR=%CD%" | |
| call %vcvars% | |
| ) | |
| echo PATH: | |
| echo %PATH% | |
| :: Remove the first argument and execute the command. | |
| for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b | |
| echo command: | |
| echo %ALL_BUT_FIRST% | |
| %ALL_BUT_FIRST% | |
| :end | |
| endlocal & set RC=%ERRORLEVEL% | |
| goto omega | |
| :returncode | |
| exit /B %RC% | |
| :omega | |
| call :returncode %RC% |