This is an archive of the discontinued LLVM Phabricator instance.

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
739

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

740–741

Should remove the space after the open paren.

781

Spurious newline?

utils/llvm.natvis
8

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 [[ http://stackoverflow.com/questions/9680420/looking-for-a-cmake-clean-command-to-clear-up-cmake-output | 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