[cmake] Properly link against LLVM components (#224624)
The proper way to reference LLVM components is to pass them via the
LLVM_LINK_COMPONENTS variable. This is needed when building LLVM as a
dylib, so the proper dependency (the LLVM library) is passed.
This does not apply to plain add_executable() targets, which should
manually select to link against LLVM or individual LLVM components.
The effort to build LLVM as a dylib is tracked in #109483.