From 60d565e66a76e42b4fb9c0c09aa0898e4a65d71d Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 4 Nov 2021 16:17:35 +0100 Subject: [PATCH] cmake: detect lz4 version, require >= 1.6 --- cmake/FindLZ4.cmake | 12 ++++++++++-- plugin/provider_lz4/CMakeLists.txt | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake index 48a7790afcd..eebd85969e3 100644 --- a/cmake/FindLZ4.cmake +++ b/cmake/FindLZ4.cmake @@ -1,9 +1,17 @@ find_path(LZ4_INCLUDE_DIRS NAMES lz4.h) find_library(LZ4_LIBRARIES NAMES lz4) +if(LZ4_INCLUDE_DIRS AND EXISTS "${LZ4_INCLUDE_DIRS}/lz4.h") + file(STRINGS "${LZ4_INCLUDE_DIRS}/lz4.h" LZ4_H REGEX "^#define LZ4_VERSION_[MR]") + string(REGEX REPLACE "LZ4_VERSION" "" LZ4_H "${LZ4_H}") + string(REGEX MATCHALL "[0-9]+" LZ4_H "${LZ4_H}") + string(REGEX REPLACE ";" "." LZ4_VERSION_STRING "${LZ4_H}") +endif() + include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS( - LZ4 DEFAULT_MSG - LZ4_LIBRARIES LZ4_INCLUDE_DIRS) + LZ4 + REQUIRED_VARS LZ4_LIBRARIES LZ4_INCLUDE_DIRS + VERSION_VAR LZ4_VERSION_STRING) mark_as_advanced(LZ4_INCLUDE_DIRS LZ4_LIBRARIES) diff --git a/plugin/provider_lz4/CMakeLists.txt b/plugin/provider_lz4/CMakeLists.txt index 9d47ab80602..514fa2cbe52 100644 --- a/plugin/provider_lz4/CMakeLists.txt +++ b/plugin/provider_lz4/CMakeLists.txt @@ -1,4 +1,4 @@ -FIND_PACKAGE(LZ4) +FIND_PACKAGE(LZ4 1.6) IF (LZ4_FOUND) GET_PROPERTY(dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)