| @echo off |
| |
| echo Installing MSVC integration... |
| set SUCCESS=0 |
| |
| REM In general this script should not be used except for development and testing |
| REM purposes. The proper way to install is via the VSIX, and the proper way to |
| REM uninstall is through the Visual Studio extension manager. |
| |
| REM Change to the directory of this batch file. |
| cd /d %~dp0 |
| |
| REM Older versions of VS would look for these files in the Program Files\MSBuild directory |
| REM but with VS2017 it seems to look for these directly in the Visual Studio instance. |
| REM This means we'll need to do a little extra work to properly detect all the various |
| REM instances, but in reality we can probably sidestep all of this by just wrapping this |
| REM in a vsix and calling it a day, as that should handle everything for us. |
| SET VCTargets=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets |
| |
| ECHO Installing Common Files |
| copy LLVM.Cpp.Common.props "%VCTargets%" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| copy LLVM.Cpp.Common.targets "%VCTargets%" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| |
| ECHO Installing x64 Platform Toolset |
| SET PlatformToolsets=%VCTargets%\Platforms\x64\PlatformToolsets |
| IF NOT EXIST "%PlatformToolsets%\llvm" mkdir "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| copy PlatformX64\Toolset.props "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| copy PlatformX64\Toolset.targets "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| |
| ECHO Installing Win32 Platform Toolset |
| SET PlatformToolsets=%VCTargets%\Platforms\Win32\PlatformToolsets |
| IF NOT EXIST "%PlatformToolsets%\llvm" mkdir "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| copy PlatformX86\Toolset.props "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| copy PlatformX86\Toolset.targets "%PlatformToolsets%\llvm" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| |
| ECHO Installing C++ Settings UI |
| copy llvm-general.xml "%VCTargets%\1033" |
| IF NOT %ERRORLEVEL% == 0 GOTO FAILED |
| |
| :DONE |
| echo Done! |
| goto END |
| |
| :FAILED |
| echo MSVC integration install failed. |
| pause |
| goto END |
| |
| :END |