Skip to content

Commit d91ecc6

Browse files
dmitryryinteligcbot
authored andcommitted
Add lld libraries dependencies for prebuilt llvm compilation
1 parent 53abb62 commit d91ecc6

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

IGC/cmake/igc_find_liblldELF.cmake

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,53 @@
99
# IGC_OPTION__LLDELF_LIB_DIR - Specify additional directories for searching lldELF library
1010
# IGC_OPTION__LLDELF_H_DIR - Specify additional directories for searching lldELF headers
1111

12-
function(find_lld_library VAR LIB_NAME)
13-
find_library(${VAR}
12+
function(add_lld_library LIB_NAME)
13+
find_library(${LIB_NAME}_PATH
1414
${LIB_NAME}
1515
PATHS "${IGC_OPTION__LLDELF_LIB_DIR}"
1616
PATH_SUFFIXES "llvm-${LLVM_VERSION_MAJOR}/lib")
1717

18-
if(${VAR}-NOTFOUND)
18+
if(${LIB_NAME}_PATH-NOTFOUND)
1919
message(FATAL_ERROR
2020
"Cannot find ${LIB_NAME} library, please install missing library or provide the path by IGC_OPTION__LLDELF_LIB_DIR")
2121
endif()
22+
add_library(${LIB_NAME} UNKNOWN IMPORTED GLOBAL)
23+
set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION ${${LIB_NAME}_PATH})
2224
endfunction()
2325

2426
if(IGC_BUILD__LLVM_SOURCES)
25-
set(LLD_ELF_LIB lldELF)
26-
set(LLD_COM_LIB lldCommon)
2727
get_target_property(lldELF_SRC_DIR lldELF SOURCE_DIR)
2828
set(LLD_INCLUDE_DIR "${lldELF_SRC_DIR}/../include")
2929
elseif(IGC_BUILD__LLVM_PREBUILDS)
30-
find_lld_library(LLD_ELF_LIB lldELF)
31-
find_lld_library(LLD_COM_LIB lldCommon)
30+
add_lld_library(lldELF)
31+
add_lld_library(lldCommon)
32+
igc_get_llvm_targets(LLD_COMMON_LLVM_DEPS
33+
Codegen
34+
Core
35+
DebugInfoDWARF
36+
Demangle
37+
MC
38+
Option
39+
Support
40+
Target)
41+
igc_get_llvm_targets(LLD_ELF_LLVM_DEPS
42+
${LLVM_TARGETS_TO_BUILD}
43+
BinaryFormat
44+
BitWriter
45+
Core
46+
DebugInfoDWARF
47+
Demangle
48+
LTO
49+
MC
50+
Object
51+
Option
52+
Passes
53+
Support)
54+
target_link_libraries(lldCommon INTERFACE
55+
${LLD_COMMON_LLVM_DEPS})
56+
target_link_libraries(lldELF INTERFACE
57+
${LLD_ELF_LLVM_DEPS}
58+
lldCommon)
3259

3360
find_path(
3461
LLD_INCLUDE_DIR
@@ -45,7 +72,6 @@ elseif(IGC_BUILD__LLVM_PREBUILDS)
4572
endif()
4673

4774
list(APPEND IGC_BUILD__LLVM_LIBS_TO_LINK
48-
${LLD_ELF_LIB}
49-
${LLD_COM_LIB})
75+
lldELF)
5076

5177
include_directories(${LLD_INCLUDE_DIR})

0 commit comments

Comments
 (0)