1@echo off
2
3echo Installing MSVC integration...
4set SUCCESS=0
5
6REM Change to the directory of this batch file.
7cd /d %~dp0
8
9set PLATFORM=None
10:START
11IF %PLATFORM% == x64 GOTO LOOPEND
12IF %PLATFORM% == Win32 SET PLATFORM=x64
13IF %PLATFORM% == None SET PLATFORM=Win32
14
15REM Search for the MSBuild toolsets directory.
16SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"
17IF EXIST %D% GOTO FOUND_V100
18SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets"
19IF EXIST %D% GOTO FOUND_V100
20
21:TRY_V110
22SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"
23IF EXIST %D% GOTO FOUND_V110
24SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets"
25IF EXIST %D% GOTO FOUND_V110
26
27:TRY_V120
28SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"
29IF EXIST %D% GOTO FOUND_V120
30SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets"
31IF EXIST %D% GOTO FOUND_V120
32
33:LOOPEND
34IF %SUCCESS% == 1 goto DONE
35echo Failed to find MSBuild toolsets directory.
36goto FAILED
37
38
39:FOUND_V100
40IF NOT EXIST %D%\LLVM-vs2010 mkdir %D%\LLVM-vs2010
41IF NOT %ERRORLEVEL% == 0 GOTO FAILED
42copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props %D%\LLVM-vs2010
43IF NOT %ERRORLEVEL% == 0 GOTO FAILED
44copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets %D%\LLVM-vs2010
45IF NOT %ERRORLEVEL% == 0 GOTO FAILED
46set SUCCESS=1
47GOTO TRY_V110
48
49:FOUND_V110
50IF NOT EXIST %D%\LLVM-vs2012 mkdir %D%\LLVM-vs2012
51IF NOT %ERRORLEVEL% == 0 GOTO FAILED
52copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props %D%\LLVM-vs2012
53IF NOT %ERRORLEVEL% == 0 GOTO FAILED
54copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.targets %D%\LLVM-vs2012
55IF NOT %ERRORLEVEL% == 0 GOTO FAILED
56IF NOT EXIST %D%\LLVM-vs2012_xp mkdir %D%\LLVM-vs2012_xp
57IF NOT %ERRORLEVEL% == 0 GOTO FAILED
58copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props %D%\LLVM-vs2012_xp
59IF NOT %ERRORLEVEL% == 0 GOTO FAILED
60copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets %D%\LLVM-vs2012_xp
61IF NOT %ERRORLEVEL% == 0 GOTO FAILED
62set SUCCESS=1
63GOTO TRY_V120
64
65:FOUND_V120
66IF NOT EXIST %D%\LLVM-vs2013 mkdir %D%\LLVM-vs2013
67IF NOT %ERRORLEVEL% == 0 GOTO FAILED
68copy %PLATFORM%\toolset-vs2013.props %D%\LLVM-vs2013\toolset.props
69IF NOT %ERRORLEVEL% == 0 GOTO FAILED
70copy %PLATFORM%\toolset-vs2013.targets %D%\LLVM-vs2013\toolset.targets
71IF NOT %ERRORLEVEL% == 0 GOTO FAILED
72IF NOT EXIST %D%\LLVM-vs2013_xp mkdir %D%\LLVM-vs2013_xp
73IF NOT %ERRORLEVEL% == 0 GOTO FAILED
74copy %PLATFORM%\toolset-vs2013_xp.props %D%\LLVM-vs2013_xp\toolset.props
75IF NOT %ERRORLEVEL% == 0 GOTO FAILED
76copy %PLATFORM%\toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets
77IF NOT %ERRORLEVEL% == 0 GOTO FAILED
78set SUCCESS=1
79GOTO START
80
81
82:DONE
83echo Done!
84goto END
85
86:FAILED
87echo MSVC integration install failed.
88pause
89goto END
90
91:END
92