1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/tools/msbuild/install.bat
Zachary Turner 2add682270 Rewrite the VS integration scripts.
This is a new modernized VS integration installer.  It adds a
Visual Studio .sln file which, when built, outputs a VSIX that can
be used to install ourselves as a "real" Visual Studio Extension.
We can even upload this extension to the visual studio marketplace.

This fixes a longstanding problem where we didn't support installing
into VS 2017 and higher.  In addition to supporting VS 2017, due
to the way this is written we now longer need to do anything special
to support future versions of VS as well.  Everything should
"just work".  This also fixes several bugs with our old integration,
such as MSBuild triggering full rebuilds when /Zi was used.

Finally, we add a new UI page called "LLVM" which becomes visible
when the LLVM toolchain is selected.  For now this only contains
one option which is the path to clang-cl.exe, but in the future
we can add more things here.

Differential Revision: https://reviews.llvm.org/D42762

llvm-svn: 337572
2018-07-20 16:30:02 +00:00

58 lines
2.0 KiB
Batchfile

@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