mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
CMake: Rely on llvm_config again for obtaining the list of required
libraries for an executable. Now LLVMConfig uses a new system for sorting library dependencies, as the list of dependent libraries for each entry of FinalLibDeps.txt no longer is topologically sorted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78787 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9bbdf64c98
commit
8e3864f99c
@ -26,7 +26,6 @@ macro(add_llvm_executable name)
|
|||||||
if( LLVM_LINK_COMPONENTS )
|
if( LLVM_LINK_COMPONENTS )
|
||||||
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
||||||
endif( LLVM_LINK_COMPONENTS )
|
endif( LLVM_LINK_COMPONENTS )
|
||||||
target_link_libraries(${name} ${llvm_libs})
|
|
||||||
get_system_libs(llvm_system_libs)
|
get_system_libs(llvm_system_libs)
|
||||||
if( llvm_system_libs )
|
if( llvm_system_libs )
|
||||||
target_link_libraries(${name} ${llvm_system_libs})
|
target_link_libraries(${name} ${llvm_system_libs})
|
||||||
|
@ -81,23 +81,24 @@ function(explicit_map_components_to_libraries out_libs)
|
|||||||
# We must match capitalization.
|
# We must match capitalization.
|
||||||
string(TOUPPER "${llvm_libs}" capitalized_libs)
|
string(TOUPPER "${llvm_libs}" capitalized_libs)
|
||||||
list(REMOVE_DUPLICATES expanded_components)
|
list(REMOVE_DUPLICATES expanded_components)
|
||||||
set(curr_idx 0)
|
|
||||||
list(LENGTH expanded_components lst_size)
|
list(LENGTH expanded_components lst_size)
|
||||||
while( ${curr_idx} LESS ${lst_size} )
|
set(result "")
|
||||||
list(GET expanded_components ${curr_idx} c)
|
while( 0 LESS ${lst_size} )
|
||||||
|
list(GET expanded_components 0 c)
|
||||||
string(TOUPPER "${c}" capitalized)
|
string(TOUPPER "${c}" capitalized)
|
||||||
list(FIND capitalized_libs ${capitalized} idx)
|
list(FIND capitalized_libs ${capitalized} idx)
|
||||||
if( idx LESS 0 )
|
if( idx LESS 0 )
|
||||||
message(FATAL_ERROR "Library ${c} not found in list of llvm libraries.")
|
message(FATAL_ERROR "Library ${c} not found in list of llvm libraries.")
|
||||||
endif( idx LESS 0 )
|
endif( idx LESS 0 )
|
||||||
list(GET llvm_libs ${idx} canonical_lib)
|
list(GET llvm_libs ${idx} canonical_lib)
|
||||||
|
list(REMOVE_ITEM result ${canonical_lib})
|
||||||
list(APPEND result ${canonical_lib})
|
list(APPEND result ${canonical_lib})
|
||||||
list(APPEND result ${MSVC_LIB_DEPS_${canonical_lib}})
|
foreach(c ${MSVC_LIB_DEPS_${canonical_lib}})
|
||||||
|
list(REMOVE_ITEM expanded_components ${c})
|
||||||
|
endforeach()
|
||||||
list(APPEND expanded_components ${MSVC_LIB_DEPS_${canonical_lib}})
|
list(APPEND expanded_components ${MSVC_LIB_DEPS_${canonical_lib}})
|
||||||
list(REMOVE_DUPLICATES expanded_components)
|
list(REMOVE_AT expanded_components 0)
|
||||||
list(LENGTH expanded_components lst_size)
|
list(LENGTH expanded_components lst_size)
|
||||||
math(EXPR curr_idx "${curr_idx} + 1")
|
endwhile( 0 LESS ${lst_size} )
|
||||||
endwhile( ${curr_idx} LESS ${lst_size} )
|
|
||||||
list(REMOVE_DUPLICATES result)
|
|
||||||
set(${out_libs} ${result} PARENT_SCOPE)
|
set(${out_libs} ${result} PARENT_SCOPE)
|
||||||
endfunction(explicit_map_components_to_libraries)
|
endfunction(explicit_map_components_to_libraries)
|
||||||
|
Loading…
Reference in New Issue
Block a user