Page MenuHomePhabricator

Auto-install LLVM Visual Studio visualizers for VS2015 and up
ClosedPublic

Authored by mspertus on Mar 27 2016, 1:23 AM.

Details

Summary

This change uses the Project Support for Natvis added in VS2015 to eliminate the need to manually install natvis files. D18498 is the correspondig diff for clang. I want to acknowledge ariccio for extensive advice on this change.

Diff Detail

Event Timeline

mspertus updated this revision to Diff 51730.Mar 27 2016, 1:23 AM
mspertus retitled this revision from to Auto-install LLVM Visual Studio visualizers for VS2015 and up.
mspertus updated this object.
mspertus added a subscriber: cfe-commits.
mspertus updated this revision to Diff 51735.Mar 27 2016, 8:27 AM

Correctly handle non-Visual Studio case (e.g., Linux)

aaron.ballman edited edge metadata.Mar 27 2016, 8:36 AM

This is fantastic! Just a few nits, but nothing substantial.

CMakeLists.txt
744

I think the convention is to have a space between the if and the (.

745–746

Should remove the space after the open paren.

778

Spurious newline?

utils/llvm.natvis
3

Missing a terminating period.

mspertus updated this revision to Diff 51739.Mar 27 2016, 8:43 AM
mspertus edited edge metadata.

Accepting Aaron's suggestions

mspertus marked 3 inline comments as done.Mar 27 2016, 8:44 AM
aaron.ballman accepted this revision.Mar 27 2016, 8:46 AM
aaron.ballman edited edge metadata.

LGTM, thank you!

This revision is now accepted and ready to land.Mar 27 2016, 8:46 AM
mspertus updated this revision to Diff 51740.Mar 27 2016, 9:04 AM
mspertus edited edge metadata.

Missed one (the missing period in llvm.natvis).

mspertus marked an inline comment as done.Mar 27 2016, 9:05 AM
mspertus updated this revision to Diff 51754.Mar 27 2016, 4:50 PM

Since this is now creating a project, we should do some housekeeping to move the files to different directories so that the build tree has an LLVMVisualizers project directory.

mspertus updated this revision to Diff 51756.Mar 27 2016, 4:52 PM

Add missing newline

ariccio edited edge metadata.Mar 27 2016, 5:16 PM

utils/llvm.natvis is a duplicate of utils/LLVMVisualizers/llvm.natvis?

Otherwise, assuming everything builds correctly, LGTM.

Once again, thanks for doing this!

utils/llvm.natvis is a duplicate of utils/LLVMVisualizers/llvm.natvis?

The file was moved to a more appropriate directory (Otherwise, the project files were stepping on each other).
svn mv utils/llvm.natvis utils/LLVMVisualizers/llvm.natvis

Otherwise, assuming everything builds correctly, LGTM.

There are a lot scenarios. What do all of these files in the build tree like cmake_install.cmake, install.vcxproj, Package.vcxproj? How do I test them?

Once again, thanks for doing this!

You're welcome. Thanks for all your help. I am in India right now with a limited environment. I will likely due some more testing when I get home and check in at the end of the week.

mspertus updated this revision to Diff 51764.Mar 27 2016, 6:21 PM
mspertus edited edge metadata.

Adding missing period in comment!

Otherwise, assuming everything builds correctly, LGTM.

There are a lot scenarios. What do all of these files in the build tree like cmake_install.cmake, install.vcxproj, Package.vcxproj? How do I test them?

Do you have a clean copy of the tree? Maybe do something like the equivalent of make clean? Then try to regenerate everything?

Once again, thanks for doing this!

You're welcome. Thanks for all your help. I am in India right now with a limited environment. I will likely due some more testing when I get home and check in at the end of the week.

Well that's certainly more exotic than me! I'm impressed. I assume you have a laptop, and you're not doing this on your smartphone.

mspertus closed this revision.Mar 28 2016, 11:05 AM

Committed as revisions 264601 and 264602