diff --git a/cmake-libarchive.patch b/cmake-libarchive.patch new file mode 100644 index 0000000..67eb9b4 --- /dev/null +++ b/cmake-libarchive.patch @@ -0,0 +1,36 @@ +From 92c47b8786fdd41f4b9d882386b7acf585f1c00a Mon Sep 17 00:00:00 2001 +From: Orion Poplawski +Date: Fri, 3 Jun 2016 09:37:03 -0600 +Subject: [PATCH] Support libarchive 3.2 version string format + +--- + Modules/FindLibArchive.cmake | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/Modules/FindLibArchive.cmake b/Modules/FindLibArchive.cmake +index 471a4f1..dd93041 100644 +--- a/Modules/FindLibArchive.cmake ++++ b/Modules/FindLibArchive.cmake +@@ -42,14 +42,15 @@ mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY) + + # Extract the version number from the header. + if(LibArchive_INCLUDE_DIR AND EXISTS "${LibArchive_INCLUDE_DIR}/archive.h") +- # The version string appears in one of two known formats in the header: ++ # The version string appears in one of three known formats in the header: + # #define ARCHIVE_LIBRARY_VERSION "libarchive 2.4.12" + # #define ARCHIVE_VERSION_STRING "libarchive 2.8.4" +- # Match either format. +- set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"libarchive +([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$") ++ # #define ARCHIVE_VERSION_ONLY_STRING "3.2.0" ++ # Match any format. ++ set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"(libarchive +)?([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$") + file(STRINGS "${LibArchive_INCLUDE_DIR}/archive.h" _LibArchive_VERSION_STRING LIMIT_COUNT 1 REGEX "${_LibArchive_VERSION_REGEX}") + if(_LibArchive_VERSION_STRING) +- string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\1.\\2.\\3" LibArchive_VERSION "${_LibArchive_VERSION_STRING}") ++ string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\2.\\3.\\4" LibArchive_VERSION "${_LibArchive_VERSION_STRING}") + endif() + unset(_LibArchive_VERSION_REGEX) + unset(_LibArchive_VERSION_STRING) +-- +1.8.3.1 +