FindLZ4.cmake 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Finds liblz4.
  2. #
  3. # This module defines:
  4. # LZ4_FOUND
  5. # LZ4_INCLUDE_DIR
  6. # LZ4_LIBRARY
  7. #
  8. # From https://github.com/facebook/hhvm/blob/master/CMake/FindLZ4.cmake
  9. #
  10. find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
  11. find_library(LZ4_LIBRARY NAMES lz4)
  12. # We require LZ4_compress_default() which was added in v1.7.0
  13. if (LZ4_LIBRARY)
  14. include(CheckCSourceRuns)
  15. set(CMAKE_REQUIRED_INCLUDES ${LZ4_INCLUDE_DIR})
  16. set(CMAKE_REQUIRED_LIBRARIES ${LZ4_LIBRARY})
  17. check_c_source_runs("
  18. #include <lz4.h>
  19. int main() {
  20. int good = (LZ4_VERSION_MAJOR > 1) ||
  21. ((LZ4_VERSION_MAJOR == 1) && (LZ4_VERSION_MINOR >= 7));
  22. return !good;
  23. }" LZ4_GOOD_VERSION)
  24. set(CMAKE_REQUIRED_INCLUDES)
  25. set(CMAKE_REQUIRED_LIBRARIES)
  26. endif()
  27. include(FindPackageHandleStandardArgs)
  28. FIND_PACKAGE_HANDLE_STANDARD_ARGS(
  29. LZ4 DEFAULT_MSG
  30. LZ4_LIBRARY LZ4_INCLUDE_DIR LZ4_GOOD_VERSION)
  31. if (NOT LZ4_FOUND)
  32. message(STATUS "Using third-party bundled LZ4")
  33. else()
  34. message(STATUS "Found LZ4: ${LZ4_LIBRARY}")
  35. endif (NOT LZ4_FOUND)
  36. mark_as_advanced(LZ4_INCLUDE_DIR LZ4_LIBRARY)