forked from OSchip/llvm-project
[cmake] Update creation of object library dependencies for LINK_LIBS PUBLIC
We need to avoid declaring dependencies on strings which are valid LINK_LIBS and not valid targets. Previously, we used if(TARGET) to check this condition. However, if(TARGET) checks whether a target has been created (in the cmake subdirectory traversal order) and not whether it *will* be created. This results in annoying directory ordering problems. This patch changes the check to more explicitly eliminate problematic libraries (namely -lpthread) using a REGEX. Differential Revision: https://reviews.llvm.org/D79837
This commit is contained in:
parent
7d4167430c
commit
085234bedc
|
@ -483,7 +483,8 @@ function(llvm_add_library name)
|
||||||
"PUBLIC;PRIVATE"
|
"PUBLIC;PRIVATE"
|
||||||
${ARG_LINK_LIBS})
|
${ARG_LINK_LIBS})
|
||||||
foreach(link_lib ${LINK_LIBS_ARG_PUBLIC})
|
foreach(link_lib ${LINK_LIBS_ARG_PUBLIC})
|
||||||
if(TARGET ${link_lib})
|
# Can't specify a dependence on -lpthread
|
||||||
|
if(NOT ${link_lib} MATCHES "-.*")
|
||||||
add_dependencies(${obj_name} ${link_lib})
|
add_dependencies(${obj_name} ${link_lib})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
Loading…
Reference in New Issue