aboutsummaryrefslogtreecommitdiff
path: root/lib/cmake/llvm/LLVM-Config.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cmake/llvm/LLVM-Config.cmake')
-rw-r--r--lib/cmake/llvm/LLVM-Config.cmake31
1 files changed, 21 insertions, 10 deletions
diff --git a/lib/cmake/llvm/LLVM-Config.cmake b/lib/cmake/llvm/LLVM-Config.cmake
index c3fa59e..5d9ec79 100644
--- a/lib/cmake/llvm/LLVM-Config.cmake
+++ b/lib/cmake/llvm/LLVM-Config.cmake
@@ -28,7 +28,9 @@ function(is_llvm_target_library library return_var)
string(TOUPPER "${LLVM_TARGETS_TO_BUILD}" targets)
elseif(ARG_OMITTED_TARGETS)
set(omitted_targets ${LLVM_ALL_TARGETS})
- list(REMOVE_ITEM omitted_targets "${LLVM_TARGETS_TO_BUILD}")
+ if (LLVM_TARGETS_TO_BUILD)
+ list(REMOVE_ITEM omitted_targets ${LLVM_TARGETS_TO_BUILD})
+ endif()
string(TOUPPER "${omitted_targets}" targets)
else()
string(TOUPPER "${LLVM_ALL_TARGETS}" targets)
@@ -171,13 +173,6 @@ function(llvm_expand_pseudo_components out_components)
list(APPEND expanded_components "${t}CodeGen")
endif()
endforeach(t)
- elseif( c STREQUAL "AllTargetsAsmPrinters" )
- # Link all the asm printers from all the targets
- foreach(t ${LLVM_TARGETS_TO_BUILD})
- if( TARGET LLVM${t}AsmPrinter )
- list(APPEND expanded_components "${t}AsmPrinter")
- endif()
- endforeach(t)
elseif( c STREQUAL "AllTargetsAsmParsers" )
# Link all the asm parsers from all the targets
foreach(t ${LLVM_TARGETS_TO_BUILD})
@@ -260,6 +255,10 @@ function(llvm_map_components_to_libnames out_libs)
# Translate symbolic component names to real libraries:
llvm_expand_pseudo_components(link_components ${link_components})
foreach(c ${link_components})
+ get_property(c_rename GLOBAL PROPERTY LLVM_COMPONENT_NAME_${c})
+ if(c_rename)
+ set(c ${c_rename})
+ endif()
if( c STREQUAL "native" )
# already processed
elseif( c STREQUAL "backend" )
@@ -305,14 +304,26 @@ function(expand_topologically name required_libs visited_libs)
list(APPEND visited_libs ${name})
set(visited_libs ${visited_libs} PARENT_SCOPE)
- get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
+ #
+ get_property(libname GLOBAL PROPERTY LLVM_COMPONENT_NAME_${name})
+ if(libname)
+ set(cname LLVM${libname})
+ elseif(TARGET ${name})
+ set(cname ${name})
+ elseif(TARGET LLVM${name})
+ set(cname LLVM${name})
+ else()
+ message(FATAL_ERROR "unknown component ${name}")
+ endif()
+
+ get_property(lib_deps TARGET ${cname} PROPERTY LLVM_LINK_COMPONENTS)
foreach( lib_dep ${lib_deps} )
expand_topologically(${lib_dep} "${required_libs}" "${visited_libs}")
set(required_libs ${required_libs} PARENT_SCOPE)
set(visited_libs ${visited_libs} PARENT_SCOPE)
endforeach()
- list(APPEND required_libs ${name})
+ list(APPEND required_libs ${cname})
set(required_libs ${required_libs} PARENT_SCOPE)
endif()
endfunction()