# Find LibLZ4 # # Find LibLZ4 headers and library # # Result Variables # # LIBLZ4_FOUND - True if lz4 is found # LIBLZ4_INCLUDE_DIRS - lz4 headers directories # LIBLZ4_LIBRARIES - lz4 libraries # LIBLZ4_VERSION_MAJOR - The major version of lz4 # LIBLZ4_VERSION_MINOR - The minor version of lz4 # LIBLZ4_VERSION_RELEASE - The release version of lz4 # LIBLZ4_VERSION_STRING - version number string (e.g. 1.8.3) # # Hints # # Set ``LZ4_ROOT_DIR`` to the directory of lz4.h and lz4 library set(_LIBLZ4_ROOT_HINTS ENV LZ4_ROOT_DIR) find_path( LIBLZ4_INCLUDE_DIR lz4.h HINTS ${_LIBLZ4_ROOT_HINTS}) find_library( LIBLZ4_LIBRARY NAMES lz4 liblz4 liblz4_static HINTS ${_LIBLZ4_ROOT_HINTS}) if(LIBLZ4_INCLUDE_DIR) file(STRINGS "${LIBLZ4_INCLUDE_DIR}/lz4.h" LIBLZ4_HEADER_CONTENT REGEX "#define LZ4_VERSION_[A-Z]+ +[0-9]+") string(REGEX REPLACE ".*#define LZ4_VERSION_MAJOR +([0-9]+).*" "\\1" LIBLZ4_VERSION_MAJOR "${LIBLZ4_HEADER_CONTENT}") string(REGEX REPLACE ".*#define LZ4_VERSION_MINOR +([0-9]+).*" "\\1" LIBLZ4_VERSION_MINOR "${LIBLZ4_HEADER_CONTENT}") string(REGEX REPLACE ".*#define LZ4_VERSION_RELEASE +([0-9]+).*" "\\1" LIBLZ4_VERSION_RELEASE "${LIBLZ4_HEADER_CONTENT}") set(LIBLZ4_VERSION_STRING "${LIBLZ4_VERSION_MAJOR}.${LIBLZ4_VERSION_MINOR}.${LIBLZ4_VERSION_RELEASE}") unset(LIBLZ4_HEADER_CONTENT) endif() include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZ4 REQUIRED_VARS LIBLZ4_INCLUDE_DIR LIBLZ4_LIBRARY VERSION_VAR LIBLZ4_VERSION_STRING FAIL_MESSAGE "Could NOT find LZ4, try to set the paths to lz4.h and lz4 library in environment variable LZ4_ROOT_DIR") if (LIBLZ4_FOUND) set(LIBLZ4_LIBRARIES ${LIBLZ4_LIBRARY}) set(LIBLZ4_INCLUDE_DIRS ${LIBLZ4_INCLUDE_DIR}) endif () mark_as_advanced( LIBLZ4_INCLUDE_DIR LIBLZ4_LIBRARY )