summaryrefslogtreecommitdiff
path: root/setup_vs_tools.cmd
diff options
context:
space:
mode:
authorjashook <jashoo@microsoft.com>2018-03-05 13:35:19 -0800
committerjashook <jashoo@microsoft.com>2018-03-06 16:21:46 -0800
commit00b9df366d9d0407fb8acb323713287920526b66 (patch)
tree546f72dccf680fe75f12a90458b9b06b78a3e648 /setup_vs_tools.cmd
parent355995e48e693ae0d0d21db5ba904bb87e0a0c1f (diff)
downloadcoreclr-00b9df366d9d0407fb8acb323713287920526b66.tar.gz
coreclr-00b9df366d9d0407fb8acb323713287920526b66.tar.bz2
coreclr-00b9df366d9d0407fb8acb323713287920526b66.zip
Remove vs2015 build dependencies
Diffstat (limited to 'setup_vs_tools.cmd')
-rw-r--r--setup_vs_tools.cmd48
1 files changed, 48 insertions, 0 deletions
diff --git a/setup_vs_tools.cmd b/setup_vs_tools.cmd
new file mode 100644
index 0000000000..9af06e5bdd
--- /dev/null
+++ b/setup_vs_tools.cmd
@@ -0,0 +1,48 @@
+@if not defined _echo @echo off
+
+REM This script is responsible for setting up either the vs2015 or vs2017 env
+REM All passed arguments are ignored
+REM Script will return with 0 if pass, 1 if there is a failure to find either
+REM vs2015 or vs2017
+
+:: Default to highest Visual Studio version available
+::
+:: For VS2015 (and prior), only a single instance is allowed to be installed on a box
+:: and VS140COMNTOOLS is set as a global environment variable by the installer. This
+:: allows users to locate where the instance of VS2015 is installed.
+::
+:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS
+:: is no longer set as a global environment variable and is instead only set if the user
+:: has launched the VS2017 Developer Command Prompt.
+::
+:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is
+:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and
+:: 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 defined VisualStudioVersion (
+ if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment
+ goto skip_setup
+)
+
+echo %__MsgPrefix%Searching ^for Visual Studio 2017 or 2015 installation
+set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
+if exist %_VSWHERE% (
+ for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools
+ goto call_vs
+)
+if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS%
+echo VS2017 not found, using VS2015
+:call_vs
+if not exist "%_VSCOMNTOOLS%" (
+ echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required.
+ echo Please see https://github.com/dotnet/coreclr/blob/master/Documentation/building/windows-instructions.md for build instructions.
+ exit /b 1
+)
+echo %__MsgPrefix%"%_VSCOMNTOOLS%\VsDevCmd.bat"
+call "%_VSCOMNTOOLS%\VsDevCmd.bat"
+
+:skip_setup
+
+exit /b 0 \ No newline at end of file