]> git.proxmox.com Git - ceph.git/blobdiff - ceph/cmake/modules/FindLZ4.cmake
update sources to v12.2.0
[ceph.git] / ceph / cmake / modules / FindLZ4.cmake
index 5625865325e5164d8f724780951a060217144f0e..27d4bc58554082c896de6134b95b39b0d94230e7 100644 (file)
@@ -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)