Index: llvm/tools/msbuild/LLVM.props =================================================================== --- llvm/tools/msbuild/LLVM.props +++ /dev/null @@ -1,11 +0,0 @@ - - - - - <_PlatformToolsetShortNameFor_llvm Condition="'$(_PlatformToolsetShortNameFor_llvm)' == ''">clang-cl - - - <_PlatformToolsetFriendlyNameFor_llvm Condition="'$(_PlatformToolsetFriendlyNameFor_llvm)' == ''">Clang for Windows - - - Index: llvm/tools/msbuild/install.bat =================================================================== --- llvm/tools/msbuild/install.bat +++ llvm/tools/msbuild/install.bat @@ -14,36 +14,31 @@ SET VCTargets=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets ECHO Installing Common Files -copy Clang.Cpp.Common.props "%VCTargets%" +copy llvm\LLVM.Cpp.Common.props "%VCTargets%" +IF NOT %ERRORLEVEL% == 0 GOTO FAILED +copy llvm\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 Clang.Toolset.x64.props "%PlatformToolsets%\llvm\Toolset.props" +copy llvm\PlatformX64\Toolset.props "%PlatformToolsets%\llvm" IF NOT %ERRORLEVEL% == 0 GOTO FAILED -copy Toolset.targets "%PlatformToolsets%\llvm" +copy llvm\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 Clang.Toolset.x86.props "%PlatformToolsets%\llvm\Toolset.props" +copy llvm\PlatformX86\Toolset.props "%PlatformToolsets%\llvm" IF NOT %ERRORLEVEL% == 0 GOTO FAILED -copy Toolset.targets "%PlatformToolsets%\llvm" +copy llvm\PlatformX86\Toolset.targets "%PlatformToolsets%\llvm" IF NOT %ERRORLEVEL% == 0 GOTO FAILED ECHO Installing C++ Settings UI -copy clang-cl.xml "%VCTargets%\1033" -IF NOT %ERRORLEVEL% == 0 GOTO FAILED - -ECHO Installing MSBuild Hooks -IF NOT EXIST "%VCTargets%\ImportAfter" mkdir "%VCTargets%\ImportAfter" -IF NOT %ERRORLEVEL% == 0 GOTO FAILED -IF NOT EXIST "%VCTargets%\ImportAfter\Default" mkdir "%VCTargets%\ImportAfter\Default" -IF NOT %ERRORLEVEL% == 0 GOTO FAILED -copy LLVM.props "%VCTargets%\ImportAfter\Default" +copy llvm\clang-cl.xml "%VCTargets%\1033" IF NOT %ERRORLEVEL% == 0 GOTO FAILED :DONE Index: llvm/tools/msbuild/llvm.sln =================================================================== --- /dev/null +++ llvm/tools/msbuild/llvm.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2006 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "llvm", "llvm\llvm.csproj", "{62530D9E-1B24-4C31-8DC9-AE47E9E5DC53}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {62530D9E-1B24-4C31-8DC9-AE47E9E5DC53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62530D9E-1B24-4C31-8DC9-AE47E9E5DC53}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62530D9E-1B24-4C31-8DC9-AE47E9E5DC53}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62530D9E-1B24-4C31-8DC9-AE47E9E5DC53}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BD0FC803-C28B-4327-A129-CFB35C873897} + EndGlobalSection +EndGlobal Index: llvm/tools/msbuild/llvm/.gitignore =================================================================== --- /dev/null +++ llvm/tools/msbuild/llvm/.gitignore @@ -0,0 +1,2 @@ +bin +obj Index: llvm/tools/msbuild/llvm/LLVM.Cpp.Common.props =================================================================== --- llvm/tools/msbuild/llvm/LLVM.Cpp.Common.props +++ llvm/tools/msbuild/llvm/LLVM.Cpp.Common.props @@ -27,22 +27,36 @@ $(SolutionDir)$(Configuration)\ $(IntDir) - - - + - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM@LLVM) $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM@LLVM) $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM@Version) $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM@Version) - + 7.0.0 6.0.0 5.0.0 + + + + + <_PlatformToolsetShortNameFor_llvm>clang-cl + <_PlatformToolsetFriendlyNameFor_llvm>Clang for Windows (Unknown Version) + <_PlatformToolsetFriendlyNameFor_llvm Condition="'$(LLVMVersion)' != ''">Clang for Windows + <_PlatformToolsetFriendlyNameFor_llvm Condition="$(LLVMVersion.StartsWith('7.'))">Clang for Windows 7 + <_PlatformToolsetFriendlyNameFor_llvm Condition="$(LLVMVersion.StartsWith('6.'))">Clang for Windows 6 + <_PlatformToolsetFriendlyNameFor_llvm Condition="$(LLVMVersion.StartsWith('5.'))">Clang for Windows 5 + + + + + $(LLVMInstallDir)lib\clang\$(LLVMVersion) clang-cl.exe Index: llvm/tools/msbuild/llvm/LLVM.Cpp.Common.targets =================================================================== --- llvm/tools/msbuild/llvm/LLVM.Cpp.Common.targets +++ llvm/tools/msbuild/llvm/LLVM.Cpp.Common.targets @@ -2,8 +2,6 @@ from VCTargets/Microsoft.CppBuild.targets with only the compiler and linker pages replaced. --> - - + \ No newline at end of file Index: llvm/tools/msbuild/llvm/source.extension.vsixmanifest =================================================================== --- /dev/null +++ llvm/tools/msbuild/llvm/source.extension.vsixmanifest @@ -0,0 +1,22 @@ + + + + + LLVM Compiler Toolchain + Allows the LLVM Compiler Toolchain (installed separately) to be used from within Visual Studio to build C/C++ Projects. + license.txt + + + + + + + + + + + + + + + Index: llvm/tools/msbuild/uninstall.bat =================================================================== --- llvm/tools/msbuild/uninstall.bat +++ llvm/tools/msbuild/uninstall.bat @@ -5,69 +5,25 @@ REM CD to the directory of this batch file. cd /d %~dp0 -set PLATFORM=None -:LOOPHEAD -IF %PLATFORM% == x64 GOTO LOOPEND -IF %PLATFORM% == Win32 SET PLATFORM=x64 -IF %PLATFORM% == None SET PLATFORM=Win32 +SET VCTargets=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets +ECHO Uninstalling Common Files +IF EXIST "%VCTargets%\LLVM.Cpp.Common.props" del "%VCTargets%\LLVM.Cpp.Common.props" +IF EXIST "%VCTargets%\LLVM.Cpp.Common.targets" del "%VCTargets%\LLVM.Cpp.Common.targets" -SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props -IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets -IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010 -SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.props -IF EXIST %D%\LLVM-vs2010 del %D%\LLVM-vs2010\Microsoft.Cpp.%PLATFORM%.LLVM-vs2010.targets -IF EXIST %D%\LLVM-vs2010 rmdir %D%\LLVM-vs2010 +ECHO Uninstalling x64 Platform Toolset +SET PlatformToolsets=%VCTargets%\Platforms\x64\PlatformToolsets +IF EXIST "%PlatformToolsets%\llvm\Toolset.props" del "%PlatformToolsets%\llvm\Toolset.props" +IF EXIST "%PlatformToolsets%\llvm\Toolset.targets" del "%PlatformToolsets%\llvm\Toolset.targets" +IF EXIST "%PlatformToolsets%\llvm" rd "%PlatformToolsets%\llvm" -SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props -IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.targets -IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012 -IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props -IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets -IF EXIST %D%\LLVM-vs2012_xp rmdir %D%\LLVM-vs2012_xp -SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.props -IF EXIST %D%\LLVM-vs2012 del %D%\LLVM-vs2012\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012.targets -IF EXIST %D%\LLVM-vs2012 rmdir %D%\LLVM-vs2012 -IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.props -IF EXIST %D%\LLVM-vs2012_xp del %D%\LLVM-vs2012_xp\Microsoft.Cpp.%PLATFORM%.LLVM-vs2012_xp.targets -IF EXIST %D%\LLVM-vs2012_xp rmdir %D%\LLVM-vs2012_xp +ECHO Uninstalling Win32 Platform Toolset +SET PlatformToolsets=%VCTargets%\Platforms\Win32\PlatformToolsets +IF EXIST "%PlatformToolsets%\llvm\Toolset.props" del "%PlatformToolsets%\llvm\Toolset.props" +IF EXIST "%PlatformToolsets%\llvm\Toolset.targets" del "%PlatformToolsets%\llvm\Toolset.targets" +IF EXIST "%PlatformToolsets%\llvm" rd "%PlatformToolsets%\llvm" -SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.props -IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.targets -IF EXIST %D%\LLVM-vs2013 rmdir %D%\LLVM-vs2013 -IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.props -IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.targets -IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp -SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.props -IF EXIST %D%\LLVM-vs2013 del %D%\LLVM-vs2013\toolset.targets -IF EXIST %D%\LLVM-vs2013 rmdir %D%\LLVM-vs2013 -IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.props -IF EXIST %D%\LLVM-vs2013_xp del %D%\LLVM-vs2013_xp\toolset.targets -IF EXIST %D%\LLVM-vs2013_xp rmdir %D%\LLVM-vs2013_xp +ECHO Uninstalling C++ Settings UI +IF EXIST "%VCTargets%\1033\clang-cl.xml" del "%VCTargets%\1033\clang-cl.xml" -SET D="%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.props -IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.targets -IF EXIST %D%\LLVM-vs2014 rmdir %D%\LLVM-vs2014 -IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.props -IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.targets -IF EXIST %D%\LLVM-vs2014_xp rmdir %D%\LLVM-vs2014_xp -SET D="%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\%PLATFORM%\PlatformToolsets" -IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.props -IF EXIST %D%\LLVM-vs2014 del %D%\LLVM-vs2014\toolset.targets -IF EXIST %D%\LLVM-vs2014 rmdir %D%\LLVM-vs2014 -IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.props -IF EXIST %D%\LLVM-vs2014_xp del %D%\LLVM-vs2014_xp\toolset.targets -IF EXIST %D%\LLVM-vs2014_xp rmdir %D%\LLVM-vs2014_xp - - -GOTO LOOPHEAD - -:LOOPEND echo Done!