| @echo off | |
| echo Installing MSVC integration... | |
| set SUCCESS=0 | |
| REM Change to the directory of this batch file. | |
| cd /d %~dp0 | |
| REM Loop over the two platforms in awkward batch file fashion. | |
| set PLATFORM=None | |
| :PLATFORMLOOPHEAD | |
| IF %PLATFORM% == x64 GOTO PLATFORMLOOPEND | |
| IF %PLATFORM% == Win32 SET PLATFORM=x64 | |
| IF %PLATFORM% == None SET PLATFORM=Win32 | |
| REM Search for the MSBuild toolsets directory. | |
| SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V100 | |
| SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V100 | |
| :TRY_V110 | |
| SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V110 | |
| SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V110 | |
| :TRY_V120 | |
| SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V120 | |
| SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V120 | |
| :TRY_V140 | |
| SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V140 | |
| SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets" | |
| IF EXIST %D% GOTO FOUND_V140 | |
| :TRY_V150 | |
| GOTO PLATFORMLOOPHEAD | |
| :PLATFORMLOOPEND | |
| IF %SUCCESS% == 1 goto DONE | |
| echo Failed to find MSBuild toolsets directory. | |
| goto FAILED | |
| :FOUND_V100 | |
| REM Routine for installing v100 toolchain. | |
| IF NOT EXIST %D%\LLVM-vs2010 mkdir %D%\LLVM-vs2010 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props %D%\LLVM-vs2010 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets %D%\LLVM-vs2010 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| set SUCCESS=1 | |
| GOTO TRY_V110 | |
| :FOUND_V110 | |
| REM Routine for installing v110 toolchain. | |
| IF NOT EXIST %D%\LLVM-vs2012 mkdir %D%\LLVM-vs2012 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props %D%\LLVM-vs2012 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.targets %D%\LLVM-vs2012 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| IF NOT EXIST %D%\LLVM-vs2012_xp mkdir %D%\LLVM-vs2012_xp | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props %D%\LLVM-vs2012_xp | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets %D%\LLVM-vs2012_xp | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| set SUCCESS=1 | |
| GOTO TRY_V120 | |
| :FOUND_V120 | |
| REM Routine for installing v120 toolchain. | |
| IF NOT EXIST %D%\LLVM-vs2013 mkdir %D%\LLVM-vs2013 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2013.props %D%\LLVM-vs2013\toolset.props | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2013.targets %D%\LLVM-vs2013\toolset.targets | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| IF NOT EXIST %D%\LLVM-vs2013_xp mkdir %D%\LLVM-vs2013_xp | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2013_xp.props %D%\LLVM-vs2013_xp\toolset.props | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2013_xp.targets %D%\LLVM-vs2013_xp\toolset.targets | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| set SUCCESS=1 | |
| GOTO TRY_V140 | |
| :FOUND_V140 | |
| REM Routine for installing v140 toolchain. | |
| IF NOT EXIST %D%\LLVM-vs2014 mkdir %D%\LLVM-vs2014 | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2014.props %D%\LLVM-vs2014\toolset.props | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2014.targets %D%\LLVM-vs2014\toolset.targets | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| IF NOT EXIST %D%\LLVM-vs2014_xp mkdir %D%\LLVM-vs2014_xp | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2014_xp.props %D%\LLVM-vs2014_xp\toolset.props | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| copy %PLATFORM%\toolset-vs2014_xp.targets %D%\LLVM-vs2014_xp\toolset.targets | |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED | |
| set SUCCESS=1 | |
| GOTO TRY_V150 | |
| :DONE | |
| echo Done! | |
| goto END | |
| :FAILED | |
| echo MSVC integration install failed. | |
| pause | |
| goto END | |
| :END |