3 # Once done, this will define
13 find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
15 if(LZ4_INCLUDE_DIR AND EXISTS "${LZ4_INCLUDE_DIR}/lz4.h")
16 foreach(ver "MAJOR" "MINOR" "RELEASE")
17 file(STRINGS "${LZ4_INCLUDE_DIR}/lz4.h" LZ4_VER_${ver}_LINE
18 REGEX "^#define[ \t]+LZ4_VERSION_${ver}[ \t]+[0-9]+[ \t]+.*$")
19 string(REGEX REPLACE "^#define[ \t]+LZ4_VERSION_${ver}[ \t]+([0-9]+)[ \t]+.*$"
20 "\\1" LZ4_VERSION_${ver} "${LZ4_VER_${ver}_LINE}")
21 unset(${LZ4_VER_${ver}_LINE})
23 set(LZ4_VERSION_STRING
24 "${LZ4_VERSION_MAJOR}.${LZ4_VERSION_MINOR}.${LZ4_VERSION_RELEASE}")
27 find_library(LZ4_LIBRARY NAMES lz4)
29 include(FindPackageHandleStandardArgs)
30 find_package_handle_standard_args(LZ4
31 REQUIRED_VARS LZ4_LIBRARY LZ4_INCLUDE_DIR
32 VERSION_VAR LZ4_VERSION_STRING)
34 mark_as_advanced(LZ4_INCLUDE_DIR LZ4_LIBRARY)
36 if(LZ4_FOUND AND NOT (TARGET LZ4::LZ4))
37 add_library(LZ4::LZ4 UNKNOWN IMPORTED)
38 set_target_properties(LZ4::LZ4 PROPERTIES
39 INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}"
40 IMPORTED_LINK_INTERFACE_LANGUAGES "C"
41 IMPORTED_LOCATION "${LZ4_LIBRARY}"
42 VERSION "${LZ4_VERSION_STRING}")