Improve CMake and LIT support for Windows


Improve CMake and LIT support for Windows

This patch contains multiple cleanups and fixes to better support building on

  • [Test] Fix handling of library runtime search paths by correctly adding them to the PATH variable when running the tests.
  • [Test] Don't explicitly force "--target=i686-pc-windows" when running the test suite. Clang++ seems to deduce the correct target.
  • [Test] Fix .sh.cpp tests on Windows by properly escaping flags used in shell commands. Specifically windows style paths which included spaces were causing these tests to fail.
  • [CMake] Add "vcruntime" to the list of supported C++ ABI libraries in CMake, and teach the test suite how to handle it. For now libc++ defaults to using "vcruntime" on Windows except when libc++abi is in tree; That is probably a bug and should be changed to always use vcruntime, at least for now.
  • [Misc] Move the "c++-build" include directory to the libc++ binary dir instead of the top level project dir and rename it "c++build". This is just misc cleanup. Libc++ shouldn't be creating internal build files and directories at the top-level projects root.
  • [Misc] Build type_info's destructor when building for MSVC. This is a temporary work around to prevent link errors until we have a proper type_info implementation.


EricWFJan 16 2017, 12:47 PM
rL292156: [XRay] Implement the `llvm-xray graph` subcommand