1set(LLVM_LINK_COMPONENTS 2 Support 3 TargetParser 4 ) 5 6add_lld_tool(lld 7 lld.cpp 8 9 SUPPORT_PLUGINS 10 GENERATE_DRIVER 11 ) 12export_executable_symbols_for_plugins(lld) 13 14function(lld_target_link_libraries target type) 15 if (TARGET obj.${target}) 16 target_link_libraries(obj.${target} ${ARGN}) 17 endif() 18 19 get_property(LLVM_DRIVER_TOOLS GLOBAL PROPERTY LLVM_DRIVER_TOOLS) 20 if(LLVM_TOOL_LLVM_DRIVER_BUILD AND ${target} IN_LIST LLVM_DRIVER_TOOLS) 21 set(target llvm-driver) 22 endif() 23 24 target_link_libraries(${target} ${type} ${ARGN}) 25endfunction() 26 27lld_target_link_libraries(lld 28 PRIVATE 29 lldCommon 30 lldCOFF 31 lldELF 32 lldMachO 33 lldMinGW 34 lldWasm 35 ) 36 37if(NOT LLD_SYMLINKS_TO_CREATE) 38 set(LLD_SYMLINKS_TO_CREATE 39 lld-link ld.lld ld64.lld wasm-ld) 40endif() 41 42foreach(link ${LLD_SYMLINKS_TO_CREATE}) 43 add_lld_symlink(${link} lld) 44endforeach() 45 46if(LLVM_TOOL_LLVM_DRIVER_BUILD) 47 set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_HIDDEN_TOOL_ALIASES_lld ld) 48endif() 49