From: Kefu Chai Date: Thu, 17 Aug 2017 08:01:55 +0000 (+0800) Subject: cmake: require lz4 v1.7 for building lz4 compressor X-Git-Tag: v13.0.0~67^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b567261208d937d1937497d3e4f6eb97f7a8ed21;p=ceph.git cmake: require lz4 v1.7 for building lz4 compressor Signed-off-by: Kefu Chai --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f04d09925a3e..cd95362ae062 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -274,7 +274,7 @@ find_package(snappy REQUIRED) option(WITH_LZ4 "LZ4 compression support" OFF) if(WITH_LZ4) - find_package(LZ4 REQUIRED) + find_package(LZ4 1.7 REQUIRED) set(HAVE_LZ4 ${LZ4_FOUND}) endif(WITH_LZ4) diff --git a/cmake/modules/FindLZ4.cmake b/cmake/modules/FindLZ4.cmake index 5625865325e5..27d4bc585540 100644 --- a/cmake/modules/FindLZ4.cmake +++ b/cmake/modules/FindLZ4.cmake @@ -5,11 +5,30 @@ # LZ4_FOUND # LZ4_INCLUDE_DIR # LZ4_LIBRARY +# LZ4_VERSION_STRING +# LZ4_VERSION_MAJOR +# LZ4_VERSION_MINOR +# LZ4_VERSION_RELEASE find_path(LZ4_INCLUDE_DIR NAMES lz4.h) + +if(LZ4_INCLUDE_DIR AND EXISTS "${LZ4_INCLUDE_DIR}/lz4.h") + foreach(ver "MAJOR" "MINOR" "RELEASE") + file(STRINGS "${LZ4_INCLUDE_DIR}/lz4.h" LZ4_VER_${ver}_LINE + REGEX "^#define[ \t]+LZ4_VERSION_${ver}[ \t]+[0-9]+[ \t]+.*$") + string(REGEX REPLACE "^#define[ \t]+LZ4_VERSION_${ver}[ \t]+([0-9]+)[ \t]+.*$" + "\\1" LZ4_VERSION_${ver} "${LZ4_VER_${ver}_LINE}") + unset(${LZ4_VER_${ver}_LINE}) + endforeach() + set(LZ4_VERSION_STRING + "${LZ4_VERSION_MAJOR}.${LZ4_VERSION_MINOR}.${LZ4_VERSION_RELEASE}") +endif() + find_library(LZ4_LIBRARY NAMES lz4) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) +find_package_handle_standard_args(LZ4 + REQUIRED_VARS LZ4_LIBRARY LZ4_INCLUDE_DIR + VERSION_VAR LZ4_VERSION_STRING) mark_as_advanced(LZ4_INCLUDE_DIR LZ4_LIBRARY)