[PATCH] D74176: [CMake] Link against ZLIB::ZLIB

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 6 15:29:32 PST 2020


phosek created this revision.
phosek added reviewers: compnerd, smeenai.
Herald added subscribers: llvm-commits, hiraditya, mgorny.
Herald added a project: LLVM.
phosek added a comment.
phosek updated this revision to Diff 243033.

This is a reland of rG00b3d49d3a86 <https://reviews.llvm.org/rG00b3d49d3a86490f0596100b23cd2c3a49334c75> which addresses the `llvm-config --system-libs` issue.


This is the imported target that find_package(ZLIB) defines.


https://reviews.llvm.org/D74176

Files:
  llvm/lib/Support/CMakeLists.txt


Index: llvm/lib/Support/CMakeLists.txt
===================================================================
--- llvm/lib/Support/CMakeLists.txt
+++ llvm/lib/Support/CMakeLists.txt
@@ -1,5 +1,5 @@
 if(LLVM_ENABLE_ZLIB)
-  set(system_libs ${ZLIB_LIBRARY})
+  set(imported_libs ZLIB::ZLIB)
 endif()
 
 if( MSVC OR MINGW )
@@ -186,10 +186,20 @@
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
   ${Backtrace_INCLUDE_DIRS}
-  LINK_LIBS ${system_libs} ${delayload_flags} ${Z3_LINK_FILES}
+  LINK_LIBS ${system_libs} ${imported_libs} ${delayload_flags} ${Z3_LINK_FILES}
   )
 
-set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")
+set(llvm_system_libs ${system_libs})
+
+if(LLVM_ENABLE_ZLIB)
+  get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY IMPORTED_LOCATION_${CMAKE_BUILD_TYPE})
+  get_filename_component(zlib_library ${zlib_library} NAME_WE)
+  STRING(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" zlib_library ${zlib_library})
+  STRING(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" zlib_library ${zlib_library})
+  set(llvm_system_libs ${llvm_system_libs} "${zlib_library}")
+endif()
+
+set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${llvm_system_libs}")
 
 if(LLVM_WITH_Z3)
   target_include_directories(LLVMSupport SYSTEM


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74176.243033.patch
Type: text/x-patch
Size: 1304 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200206/3a345a1b/attachment.bin>


More information about the llvm-commits mailing list