New CMake goodness for IDE projects

If you don’t use an IDE to develop LLVM, you can stop reading now.

I just committed r228798, which updates every CMake in LLVM (but not in the tools) to use the new ADDITIONAL_HEADER_DIRS CMake argument.

This causes the IDE to know about all headers for every project. So your project in llvm/src/foo/bar now knows about the includes in llvm/include/llvm/foo/bar.

I tested on MSVC and Chris Bieneman tested with Xcode and we did not see a significant penalty to project / solution load times. But if you do notice anything unusual in this regard that you think is cause for concern, please let me know.

If all goes well and this doesn’t substantially impact anyone’s productivity, I plan to update the clang projects at some point in the future as well. This should provide a much better IDE experience.