summaryrefslogtreecommitdiffstats
path: root/src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake')
-rw-r--r--src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake b/src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake
new file mode 100644
index 000000000..d0fac06da
--- /dev/null
+++ b/src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake
@@ -0,0 +1,49 @@
+# 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 )