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

Stephen Neuendorffer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 4 14:32:24 PDT 2020


stephenneuendorffer created this revision.
Herald added subscribers: llvm-commits, mgorny.
Herald added a reviewer: DavidTruby.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79366

Files:
  llvm/cmake/modules/AddLLVM.cmake


Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -471,7 +471,12 @@
     # 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()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79366.261929.patch
Type: text/x-patch
Size: 677 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200504/189a1284/attachment.bin>


More information about the llvm-commits mailing list