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!