diff options
| -rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 28 | 
1 files changed, 15 insertions, 13 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index ba507ddb56d..9f161ff9572 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -695,20 +695,22 @@ function(export_executable_symbols target)      set(link_libs ${new_libs})      while(NOT "${new_libs}" STREQUAL "")        foreach(lib ${new_libs}) -        get_target_property(lib_type ${lib} TYPE) -        if("${lib_type}" STREQUAL "STATIC_LIBRARY") -          list(APPEND static_libs ${lib}) -        else() -          list(APPEND other_libs ${lib}) -        endif() -        get_target_property(transitive_libs ${lib} INTERFACE_LINK_LIBRARIES) -        foreach(transitive_lib ${transitive_libs}) -          list(FIND link_libs ${transitive_lib} idx) -          if(TARGET ${transitive_lib} AND idx EQUAL -1) -            list(APPEND newer_libs ${transitive_lib}) -            list(APPEND link_libs ${transitive_lib}) +        if(TARGET ${lib}) +          get_target_property(lib_type ${lib} TYPE) +          if("${lib_type}" STREQUAL "STATIC_LIBRARY") +            list(APPEND static_libs ${lib}) +          else() +            list(APPEND other_libs ${lib})            endif() -        endforeach(transitive_lib) +          get_target_property(transitive_libs ${lib} INTERFACE_LINK_LIBRARIES) +          foreach(transitive_lib ${transitive_libs}) +            list(FIND link_libs ${transitive_lib} idx) +            if(TARGET ${transitive_lib} AND idx EQUAL -1) +              list(APPEND newer_libs ${transitive_lib}) +              list(APPEND link_libs ${transitive_lib}) +            endif() +          endforeach(transitive_lib) +        endif()        endforeach(lib)        set(new_libs ${newer_libs})        set(newer_libs "")  | 

