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.
34 lines
1.8 KiB
34 lines
1.8 KiB
9 years ago
|
From 38d18bab54cd9dceba5902dcb4407ecdb585953c Mon Sep 17 00:00:00 2001
|
||
|
From: Orion Poplawski <orion@cora.nwra.com>
|
||
|
Date: Fri, 3 Jun 2016 09:37:03 -0600
|
||
|
Subject: [PATCH] FindLibArchive: 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)
|