OSDN Git Service

Rewrite the VS integration scripts.
authorZachary Turner <zturner@google.com>
Fri, 20 Jul 2018 16:30:02 +0000 (16:30 +0000)
committerZachary Turner <zturner@google.com>
Fri, 20 Jul 2018 16:30:02 +0000 (16:30 +0000)
commitf51ced79104a05940ef278810f664d8daf67ea9c
tree6743b69ad058a9aa273cc335f6ae9193f95b282b
parent7d86834e82ca6d4bd80a18d40c405001243e2d5a
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337572 91177308-0d34-0410-b5e6-96231b3b80d8
24 files changed:
CMakeLists.txt
tools/msbuild/.gitignore [new file with mode: 0644]
tools/msbuild/CMakeLists.txt [deleted file]
tools/msbuild/LLVM.Cpp.Common.props [new file with mode: 0644]
tools/msbuild/LLVM.Cpp.Common.targets [new file with mode: 0644]
tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2010.targets [deleted file]
tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012.targets [deleted file]
tools/msbuild/Microsoft.Cpp.Win32.LLVM-vs2012_xp.targets [deleted file]
tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in [deleted file]
tools/msbuild/Platformx64/Toolset.props [new file with mode: 0644]
tools/msbuild/Platformx64/Toolset.targets [new file with mode: 0644]
tools/msbuild/Platformx86/Toolset.props [new file with mode: 0644]
tools/msbuild/Platformx86/Toolset.targets [new file with mode: 0644]
tools/msbuild/install.bat
tools/msbuild/license.txt [new file with mode: 0644]
tools/msbuild/llvm-general.xml [new file with mode: 0644]
tools/msbuild/llvm.csproj [new file with mode: 0644]
tools/msbuild/llvm.sln [new file with mode: 0644]
tools/msbuild/source.extension.vsixmanifest [new file with mode: 0644]
tools/msbuild/toolset-vs2013.targets [deleted file]
tools/msbuild/toolset-vs2013_xp.targets [deleted file]
tools/msbuild/toolset-vs2014.targets [deleted file]
tools/msbuild/toolset-vs2014_xp.targets [deleted file]
tools/msbuild/uninstall.bat