mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
4de4348d6b
This allows people to try clang inside MSBuild with the VS "14" CTP releases. Fixes PR20341. Patch by Marcel Raad! llvm-svn: 213819
114 lines
3.9 KiB
Batchfile
114 lines
3.9 KiB
Batchfile
@echo off
|
|
|
|
echo Installing MSVC integration...
|
|
set SUCCESS=0
|
|
|
|
REM Change to the directory of this batch file.
|
|
cd /d %~dp0
|
|
|
|
set PLATFORM=None
|
|
:START
|
|
IF %PLATFORM% == x64 GOTO LOOPEND
|
|
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
|
|
|
|
:LOOPEND
|
|
IF %SUCCESS% == 1 goto DONE
|
|
echo Failed to find MSBuild toolsets directory.
|
|
goto FAILED
|
|
|
|
|
|
:FOUND_V100
|
|
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
|
|
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
|
|
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
|
|
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 START
|
|
|
|
|
|
:DONE
|
|
echo Done!
|
|
goto END
|
|
|
|
:FAILED
|
|
echo MSVC integration install failed.
|
|
pause
|
|
goto END
|
|
|
|
:END
|