1110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg@echo off
2110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
3110b5209d92f224050f2755539bda8f1d801f94bHans Wennborgecho Installing MSVC integration...
41bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborgset SUCCESS=0
5110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
6110b5209d92f224050f2755539bda8f1d801f94bHans WennborgREM Change to the directory of this batch file.
7110b5209d92f224050f2755539bda8f1d801f94bHans Wennborgcd /d %~dp0
8110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesset PLATFORM=None
1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines:START
1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesIF %PLATFORM% == x64 GOTO LOOPEND
1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesIF %PLATFORM% == Win32 SET PLATFORM=x64
1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesIF %PLATFORM% == None SET PLATFORM=Win32
1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
15110b5209d92f224050f2755539bda8f1d801f94bHans WennborgREM Search for the MSBuild toolsets directory.
1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"
171bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF EXIST %D% GOTO FOUND_V100
1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"
191bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF EXIST %D% GOTO FOUND_V100
20110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
211bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborg:TRY_V110
2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"
231bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF EXIST %D% GOTO FOUND_V110
2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"
251bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF EXIST %D% GOTO FOUND_V110
261bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborg
27a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans Wennborg:TRY_V120
2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"
29a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF EXIST %D% GOTO FOUND_V120
3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesSET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"
31a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF EXIST %D% GOTO FOUND_V120
32a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans Wennborg
3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines:LOOPEND
346a24c7d4e78ade068e60cbb95adb5021014ba0b7Hans WennborgIF %SUCCESS% == 1 goto DONE
356a24c7d4e78ade068e60cbb95adb5021014ba0b7Hans Wennborgecho Failed to find MSBuild toolsets directory.
366a24c7d4e78ade068e60cbb95adb5021014ba0b7Hans Wennborggoto FAILED
37110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
38110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
391bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborg:FOUND_V100
401bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT EXIST %D%\LLVM-vs2010 mkdir %D%\LLVM-vs2010
411bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props %D%\LLVM-vs2010
43110b5209d92f224050f2755539bda8f1d801f94bHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets %D%\LLVM-vs2010
45110b5209d92f224050f2755539bda8f1d801f94bHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
461bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborgset SUCCESS=1
471bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgGOTO TRY_V110
48110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
491bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans Wennborg:FOUND_V110
501bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT EXIST %D%\LLVM-vs2012 mkdir %D%\LLVM-vs2012
511bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props %D%\LLVM-vs2012
531bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.targets %D%\LLVM-vs2012
551bcff6cffa30c2fdcf0eac80ef9551429b38f25dHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
56a22ff961db47ffff4f1e795d810aa102edb9b79bReid KlecknerIF NOT EXIST %D%\LLVM-vs2012_xp mkdir %D%\LLVM-vs2012_xp
57a22ff961db47ffff4f1e795d810aa102edb9b79bReid KlecknerIF NOT %ERRORLEVEL% == 0 GOTO FAILED
5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props %D%\LLVM-vs2012_xp
59a22ff961db47ffff4f1e795d810aa102edb9b79bReid KlecknerIF NOT %ERRORLEVEL% == 0 GOTO FAILED
6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets %D%\LLVM-vs2012_xp
61a22ff961db47ffff4f1e795d810aa102edb9b79bReid KlecknerIF NOT %ERRORLEVEL% == 0 GOTO FAILED
62a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans Wennborgset SUCCESS=1
63a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgGOTO TRY_V120
64a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans Wennborg
65a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans Wennborg:FOUND_V120
66a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT EXIST %D%\LLVM-vs2013 mkdir %D%\LLVM-vs2013
67a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\toolset-vs2013.props %D%\LLVM-vs2013\toolset.props
69a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
7036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\toolset-vs2013.targets %D%\LLVM-vs2013\toolset.targets
71a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
72a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT EXIST %D%\LLVM-vs2013_xp mkdir %D%\LLVM-vs2013_xp
73a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
7436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\toolset-vs2013_xp.props %D%\LLVM-vs2013_xp\toolset.props
75a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
7636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinescopy %PLATFORM%\toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets
77a7d9a5d64a89ef8532fcf38cc8a57960d48e283eHans WennborgIF NOT %ERRORLEVEL% == 0 GOTO FAILED
7836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesset SUCCESS=1
7936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesGOTO START
8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
816a24c7d4e78ade068e60cbb95adb5021014ba0b7Hans Wennborg
826a24c7d4e78ade068e60cbb95adb5021014ba0b7Hans Wennborg:DONE
83110b5209d92f224050f2755539bda8f1d801f94bHans Wennborgecho Done!
84110b5209d92f224050f2755539bda8f1d801f94bHans Wennborggoto END
85110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
86110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg:FAILED
87110b5209d92f224050f2755539bda8f1d801f94bHans Wennborgecho MSVC integration install failed.
88110b5209d92f224050f2755539bda8f1d801f94bHans Wennborgpause
89110b5209d92f224050f2755539bda8f1d801f94bHans Wennborggoto END
90110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg
91110b5209d92f224050f2755539bda8f1d801f94bHans Wennborg:END
92