瀏覽代碼

keep libarchive from using a system zlib unless cmake uses one

Bill Hoffman 16 年之前
父節點
當前提交
0106b490de
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 2 0
      CMakeLists.txt
  2. 6 2
      Utilities/cmlibarchive/CMakeLists.txt

+ 2 - 0
CMakeLists.txt

@@ -253,6 +253,8 @@ MACRO (CMAKE_BUILD_UTILITIES)
   ELSE(CMAKE_USE_SYSTEM_LIBARCHIVE)
     SET(HAVE_LIBZ 1)
     SET(HAVE_ZLIB_H 1)
+    SET(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
+    SET(ZLIB_LIBRARIES ${CMAKE_ZLIB_LIBRARIES})
     SET(BUILD_ARCHIVE_WITHIN_CMAKE TRUE)
     ADD_DEFINITIONS(-DLIBARCHIVE_STATIC)
     SUBDIRS(Utilities/cmlibarchive)

+ 6 - 2
Utilities/cmlibarchive/CMakeLists.txt

@@ -143,7 +143,11 @@ IF(ZLIB_FOUND)
   SET(HAVE_LIBZ 1)
   SET(HAVE_ZLIB_H 1)
   INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
-  LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
+  # if building inside cmake do not add this lib
+  # as it will not exist at try compile time
+  IF(NOT "${ZLIB_LIBRARIES}" MATCHES cmzlib)
+    LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
+  ENDIF(NOT "${ZLIB_LIBRARIES}" MATCHES cmzlib)
 ENDIF(ZLIB_FOUND)
 MARK_AS_ADVANCED(CLEAR ZLIB_INCLUDE_DIR)
 MARK_AS_ADVANCED(CLEAR ZLIB_LIBRARY)
@@ -157,7 +161,7 @@ IF(BZIP2_FOUND)
   INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
   # if building inside cmake do not add this lib
   # as it will not exist at try compile time
-  IF(NOT BUILD_ARCHIVE_WITHIN_CMAKE)
+  IF(NOT "${BZIP2_LIBRARIES}" MATCHES cmbzip2)
     LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES})
   ENDIF()
 ENDIF(BZIP2_FOUND)