remove redundant target_link_libraries The redundant use of target_link_libraries in this case is a problem, as some LLVM static libraries contain static initialization routines that must only be run once. If they are run twice (e.g., because they are linked twice), then they will fail and terminate the program. e.g. static-func-full-module-prefix in llvm/lib/ProfileData/InstrProf.cpp