Reinstate r316025, reverted in r316029.
authorVassil Vassilev <v.g.vassilev@gmail.com>
Thu, 19 Oct 2017 08:04:22 +0000 (08:04 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Thu, 19 Oct 2017 08:04:22 +0000 (08:04 +0000)
Original commit message:
"[cmake] Use find_package to discover zlib

This allows us to use standard cmake utilities to point to non-system zlib
locations.

Patch by Oksana Shadura and me (D39002)."

The new patch brings back the old behavior in the cases where find_package
cannot find zlib.

llvm-svn: 316150

llvm/cmake/config-ix.cmake
llvm/lib/Support/CMakeLists.txt

index a1b4846..16402e1 100644 (file)
@@ -132,7 +132,17 @@ endif()
 # like strlen, leading to false positives.
 if( NOT PURE_WINDOWS AND NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
   if (LLVM_ENABLE_ZLIB)
-    check_library_exists(z compress2 "" HAVE_LIBZ)
+    find_package(ZLIB)
+    if (ZLIB_FOUND)
+      set(HAVE_LIBZ 1)
+    else()
+      # Some LLVM bots do not have zlib in a standard location and rely on the
+      # compiler to find it.
+      check_library_exists(z compress2 "" HAVE_LIBZ)
+      if(HAVE_LIBZ)
+        set(ZLIB_LIBRARIES z)
+      endif()
+    endif()
   else()
     set(HAVE_LIBZ 0)
   endif()
index 56aaf10..5dcb5e5 100644 (file)
@@ -22,7 +22,7 @@ elseif( CMAKE_HOST_UNIX )
   endif()
   set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB})
   if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
-    set(system_libs ${system_libs} z)
+    set(system_libs ${system_libs} ${ZLIB_LIBRARIES})
   endif()
   if( UNIX AND NOT (BEOS OR HAIKU) )
     set(system_libs ${system_libs} m)