Upstream LLVM/Clang provide CMake modules that provide all libraries as targets to link against, these are by default installed into <libdir>/cmake/{llvm,clang}/. They can also be used from a local LLVM/Clang build by setting LLVM_DIR=<build>/lib/cmake/llvm and Clang_DIR=<build>/lib/cmake/clang. Why don't we use that instead of maintaining our own Find{LLVM,Clang}.cmake?
The "Why?" is explained easily: The CMake config files for Clang have not been there when we started working with libclang. I'm happy to switch to the CMake config files shipped by Clang once we're sure they actually work for us. So someone please try whether dissolving our Find{LLVM,Clang}.cmake is feasible and that the CMake config files shipped are usable.