With this patch, llvmbuild no longer needs to be invoked during cmake runs.
Notes:
- Try this by passing WITHOUT_LLVMBUILD=ON, e.g.,
`bash $ mkdir build; cd build $ cmake -G Ninja -D WITHOUT_LLVMBUILD=ON ${other_cmake_flags} .. $ ninja as usual ``
- LLVM components are expected to be libraries whose names begin with "LLVM," case sensitive.
- Component dependencies are now passed into LLVM_-/LINK_COMPONENTS. Either:
`cmake set(LLVM_LINK_COMPONENTS LLVMLibraryName Core Support Demangle ...) add_llvm_library(LLVMLibraryName src0.cpp src1.cpp ...) `
or
`cmake add_llvm_library(LLVMLibraryName src0.cpp src1.cpp ... LINK_COMPONENTS LLVMLibraryName Core Support Demangle ... ) `
Arguments to *LINK_COMPONENTS are now case sensitive because we no longer have the benefit of llvmbuild's pre-computed dependencies.
- LibraryDependencies.inc, required by llvm-config, is now built by LLVMBuild.cmake after all component dependencies are collected and checked