Skip to content

Commit

Permalink
Detect VS2017 using vswhere.
Browse files Browse the repository at this point in the history
* Port of CoreFx change dotnet/corefx#22575

(cherry picked from commit 602e065)
  • Loading branch information
StephenBonikowsky committed Sep 24, 2018
1 parent 8503769 commit 466050c
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions run.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,22 @@ setlocal
:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015
:: toolset if it is installed. Finally, we will fail the script if no supported VS instance
:: can be found.
if not defined VisualStudioVersion (
if defined VS150COMNTOOLS (
call "%VS150COMNTOOLS%\VsDevCmd.bat"
goto :Run
) else if defined VS140COMNTOOLS (
call "%VS140COMNTOOLS%\VsDevCmd.bat"
goto :Run
)

if defined VisualStudioVersion goto :Run

set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
if exist %_VSWHERE% (
for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools
)
if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS%
if not exist "%_VSCOMNTOOLS%" (
echo Error: Visual Studio 2015 or 2017 required.
echo Please see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md for build instructions.
exit /b 1
)

call "%_VSCOMNTOOLS%\VsDevCmd.bat"

:Run
:: Clear the 'Platform' env variable for this session, as it's a per-project setting within the build, and
:: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69).
Expand All @@ -55,4 +58,4 @@ pushd %~dp0
call %_dotnet% %_toolRuntime%\run.exe "%_json%" %*
popd

exit /b %ERRORLEVEL%
exit /b %ERRORLEVEL%

0 comments on commit 466050c

Please sign in to comment.