summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-06 13:20:03 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-06-06 13:20:03 (GMT)
commitab7d649faee0b3c945f5ab59aecd6cc0fbf49016 (patch)
treedc1339c8c98446ae52ec0fe4af361d2e37885d5f /Modules
parentfc45ecfc50913206f3058eefb85e8df3f7ae7d66 (diff)
parent38d18bab54cd9dceba5902dcb4407ecdb585953c (diff)
downloadCMake-ab7d649faee0b3c945f5ab59aecd6cc0fbf49016.zip
CMake-ab7d649faee0b3c945f5ab59aecd6cc0fbf49016.tar.gz
CMake-ab7d649faee0b3c945f5ab59aecd6cc0fbf49016.tar.bz2
Merge topic 'FindLibArchive-3.2'
38d18bab FindLibArchive: Support libarchive 3.2 version string format
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindLibArchive.cmake9
1 files 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)