You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.3 KiB
80 lines
3.3 KiB
---
|
|
CMakeLists.txt | 3 +-
|
|
Modules/Findlibarchive.cmake | 41 ++++++++++++++++++++++++++++
|
|
Tests/CMakeTests/ModuleNoticesTest.cmake.in | 2 +
|
|
3 files changed, 45 insertions(+), 1 deletion(-)
|
|
|
|
Index: b/CMakeLists.txt
|
|
===================================================================
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -265,7 +265,8 @@ MACRO (CMAKE_BUILD_UTILITIES)
|
|
ENDIF()
|
|
IF(CMAKE_USE_SYSTEM_LIBARCHIVE)
|
|
FIND_PACKAGE(libarchive)
|
|
- SET(CMAKE_TAR_LIBRARIES libarchive)
|
|
+ SET(CMAKE_TAR_LIBRARIES ${LIBARCHIVE_LIBRARY})
|
|
+ SET(CMAKE_TAR_INCLUDES ${LIBARCHIVE_INCLUDE_DIR})
|
|
ELSE(CMAKE_USE_SYSTEM_LIBARCHIVE)
|
|
SET(HAVE_LIBZ 1)
|
|
SET(HAVE_ZLIB_H 1)
|
|
Index: b/Modules/Findlibarchive.cmake
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ b/Modules/Findlibarchive.cmake
|
|
@@ -0,0 +1,41 @@
|
|
+# - Try to find libarchive
|
|
+# Once done this will define
|
|
+#
|
|
+# LIBARCHIVE_FOUND - system has libarchive
|
|
+# LIBARCHIVE_INCLUDE_DIR - the libarchive include directory
|
|
+# LIBARCHIVE_LIBRARY - Link this to use libarchive
|
|
+# HAVE_LIBARCHIVE_GZIP_SUPPORT - whether libarchive has been compiled with gzip support
|
|
+# HAVE_LIBARCHIVE_LZMA_SUPPORT - whether libarchive has been compiled with lzma support
|
|
+# HAVE_LIBARCHIVE_XZ_SUPPORT - whether libarchive has been compiled with xz support
|
|
+#
|
|
+# Copyright (c) 2006, Pino Toscano, <toscano.pino@tiscali.it>
|
|
+#
|
|
+# Redistribution and use is allowed according to the terms of the BSD license.
|
|
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
+
|
|
+include(CheckLibraryExists)
|
|
+
|
|
+if (LIBARCHIVE_LIBRARY AND LIBARCHIVE_INCLUDE_DIR)
|
|
+ # in cache already
|
|
+ set(LIBARCHIVE_FOUND TRUE)
|
|
+else (LIBARCHIVE_LIBRARY AND LIBARCHIVE_INCLUDE_DIR)
|
|
+ find_path(LIBARCHIVE_INCLUDE_DIR archive.h
|
|
+ ${GNUWIN32_DIR}/include
|
|
+ )
|
|
+
|
|
+ find_library(LIBARCHIVE_LIBRARY NAMES archive libarchive archive2 libarchive2
|
|
+ PATHS
|
|
+ ${GNUWIN32_DIR}/lib
|
|
+ )
|
|
+
|
|
+ if (LIBARCHIVE_LIBRARY)
|
|
+ check_library_exists(${LIBARCHIVE_LIBRARY} archive_write_set_compression_gzip "" HAVE_LIBARCHIVE_GZIP_SUPPORT)
|
|
+ check_library_exists(${LIBARCHIVE_LIBRARY} archive_write_set_compression_lzma "" HAVE_LIBARCHIVE_LZMA_SUPPORT)
|
|
+ check_library_exists(${LIBARCHIVE_LIBRARY} archive_write_set_compression_xz "" HAVE_LIBARCHIVE_XZ_SUPPORT)
|
|
+ endif (LIBARCHIVE_LIBRARY)
|
|
+
|
|
+ include(FindPackageHandleStandardArgs)
|
|
+ find_package_handle_standard_args(LibArchive DEFAULT_MSG LIBARCHIVE_INCLUDE_DIR LIBARCHIVE_LIBRARY HAVE_LIBARCHIVE_GZIP_SUPPORT)
|
|
+
|
|
+ mark_as_advanced(LIBARCHIVE_INCLUDE_DIR LIBARCHIVE_LIBRARY HAVE_LIBARCHIVE_GZIP_SUPPORT HAVE_LIBARCHIVE_LZMA_SUPPORT)
|
|
+endif (LIBARCHIVE_LIBRARY AND LIBARCHIVE_INCLUDE_DIR)
|
|
Index: b/Tests/CMakeTests/ModuleNoticesTest.cmake.in
|
|
===================================================================
|
|
--- a/Tests/CMakeTests/ModuleNoticesTest.cmake.in
|
|
+++ b/Tests/CMakeTests/ModuleNoticesTest.cmake.in
|
|
@@ -22,6 +22,8 @@ string(REPLACE "\r\r" "\r" notice_regex
|
|
# Modules that do not require our notice.
|
|
set(notice_exceptions
|
|
FindCUDA.cmake # MIT License, distributed here from upstream project
|
|
+ Findlibarchive.cmake # Debian-Patch: taken from kdeutils, different until
|
|
+ # upstream accepts it.
|
|
)
|
|
|
|
# Load the list of modules to check.
|