FindLZ4.cmake 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. find_path(LZ4_INCLUDE_DIR
  2. NAMES lz4.h
  3. DOC "lz4 include directory")
  4. mark_as_advanced(LZ4_INCLUDE_DIR)
  5. find_library(LZ4_LIBRARY
  6. NAMES lz4 liblz4
  7. DOC "lz4 library")
  8. mark_as_advanced(LZ4_LIBRARY)
  9. if (LZ4_INCLUDE_DIR)
  10. file(STRINGS "${LZ4_INCLUDE_DIR}/lz4.h" _lz4_version_lines
  11. REGEX "#define[ \t]+LZ4_VERSION_(MAJOR|MINOR|RELEASE)")
  12. string(REGEX REPLACE ".*LZ4_VERSION_MAJOR *\([0-9]*\).*" "\\1" _lz4_version_major "${_lz4_version_lines}")
  13. string(REGEX REPLACE ".*LZ4_VERSION_MINOR *\([0-9]*\).*" "\\1" _lz4_version_minor "${_lz4_version_lines}")
  14. string(REGEX REPLACE ".*LZ4_VERSION_RELEASE *\([0-9]*\).*" "\\1" _lz4_version_release "${_lz4_version_lines}")
  15. set(LZ4_VERSION "${_lz4_version_major}.${_lz4_version_minor}.${_lz4_version_release}")
  16. unset(_lz4_version_major)
  17. unset(_lz4_version_minor)
  18. unset(_lz4_version_release)
  19. unset(_lz4_version_lines)
  20. endif ()
  21. include(FindPackageHandleStandardArgs)
  22. find_package_handle_standard_args(LZ4
  23. REQUIRED_VARS LZ4_LIBRARY LZ4_INCLUDE_DIR
  24. VERSION_VAR LZ4_VERSION)
  25. if (LZ4_FOUND)
  26. set(LZ4_INCLUDE_DIRS "${LZ4_INCLUDE_DIR}")
  27. set(LZ4_LIBRARIES "${LZ4_LIBRARY}")
  28. if (NOT TARGET LZ4::LZ4)
  29. add_library(LZ4::LZ4 UNKNOWN IMPORTED)
  30. set_target_properties(LZ4::LZ4 PROPERTIES
  31. IMPORTED_LOCATION "${LZ4_LIBRARY}"
  32. INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}")
  33. endif ()
  34. endif ()