mirror of https://github.com/ceph/ceph
44 lines
1.3 KiB
CMake
44 lines
1.3 KiB
CMake
# Try to find liblz4
|
|
#
|
|
# Once done, this will define
|
|
#
|
|
# 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
|
|
REQUIRED_VARS LZ4_LIBRARY LZ4_INCLUDE_DIR
|
|
VERSION_VAR LZ4_VERSION_STRING)
|
|
|
|
mark_as_advanced(LZ4_INCLUDE_DIR LZ4_LIBRARY)
|
|
|
|
if(LZ4_FOUND AND NOT (TARGET LZ4::LZ4))
|
|
add_library(LZ4::LZ4 UNKNOWN IMPORTED)
|
|
set_target_properties(LZ4::LZ4 PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}"
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${LZ4_LIBRARY}"
|
|
VERSION "${LZ4_VERSION_STRING}")
|
|
endif()
|