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.
cmake/debian/patches/add_libarchive_script.patch

75 lines
2.9 KiB

Description: add Findlibarchive.cmake needed to build with system libarchive
Author: Kai Wasserbäch <debian@carbon-project.org>
Forwarded: yes
Bug: http://public.kitware.com/Bug/view.php?id=10923
Origin: vendor
Last-Update: 2010-07-01
--- 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)
--- /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)
--- 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.