[llvm] a29f603 - [cmake] restrict object library dependency generation to PUBLIC libraries

Stephen Neuendorffer via llvm-commits llvm-commits at lists.llvm.org
Mon May 4 14:13:05 PDT 2020


Author: Stephen Neuendorffer
Date: 2020-05-04T14:12:42-07:00
New Revision: a29f603ef0db057a47002b30d080adaf76618ce7

URL: https://github.com/llvm/llvm-project/commit/a29f603ef0db057a47002b30d080adaf76618ce7
DIFF: https://github.com/llvm/llvm-project/commit/a29f603ef0db057a47002b30d080adaf76618ce7.diff

LOG: [cmake] restrict object library dependency generation to PUBLIC libraries

Previous patch broken flang, which has some yet-to-be resolved cyclic
dependencies.   This patch fixes the breakage by restricting the dependencies
which are generated to public libraries, which is probably more sensible anyway.

Differential Revision: https://reviews.llvm.org/D79366

Added: 
    

Modified: 
    llvm/cmake/modules/AddLLVM.cmake

Removed: 
    


################################################################################
diff  --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 98ef125c0e86..b4bc15e16e8e 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -471,7 +471,12 @@ function(llvm_add_library name)
     # result in generating header files.  Add a dependendency so that
     # the generated header is created before this object library.
     if(ARG_LINK_LIBS)
-      foreach(link_lib ${ARG_LINK_LIBS})
+      cmake_parse_arguments(LINK_LIBS_ARG
+        ""
+        ""
+        "PUBLIC;PRIVATE"
+        ${ARG_LINK_LIBS})
+      foreach(link_lib ${LINK_LIBS_ARG_PUBLIC})
         if(TARGET ${link_lib})
           add_dependencies(${obj_name} ${link_lib})
         endif()


        


More information about the llvm-commits mailing list