|
| 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 | + |
| 10 | +if (LZ4_INCLUDE_DIR) |
| 11 | + file(STRINGS "${LZ4_INCLUDE_DIR}/lz4.h" _lz4_version_lines |
| 12 | + REGEX "#define[ \t]+LZ4_VERSION_(MAJOR|MINOR|RELEASE)") |
| 13 | + string(REGEX REPLACE ".*LZ4_VERSION_MAJOR *\([0-9]*\).*" "\\1" _lz4_version_major "${_lz4_version_lines}") |
| 14 | + string(REGEX REPLACE ".*LZ4_VERSION_MINOR *\([0-9]*\).*" "\\1" _lz4_version_minor "${_lz4_version_lines}") |
| 15 | + string(REGEX REPLACE ".*LZ4_VERSION_RELEASE *\([0-9]*\).*" "\\1" _lz4_version_release "${_lz4_version_lines}") |
| 16 | + set(LZ4_VERSION "${_lz4_version_major}.${_lz4_version_minor}.${_lz4_version_release}") |
| 17 | + unset(_lz4_version_major) |
| 18 | + unset(_lz4_version_minor) |
| 19 | + unset(_lz4_version_release) |
| 20 | + unset(_lz4_version_lines) |
| 21 | +endif () |
| 22 | + |
| 23 | +include(FindPackageHandleStandardArgs) |
| 24 | +find_package_handle_standard_args(LZ4 |
| 25 | + REQUIRED_VARS LZ4_LIBRARY LZ4_INCLUDE_DIR |
| 26 | + VERSION_VAR LZ4_VERSION) |
| 27 | + |
| 28 | +if (LZ4_FOUND) |
| 29 | + set(LZ4_INCLUDE_DIRS "${LZ4_INCLUDE_DIR}") |
| 30 | + set(LZ4_LIBRARIES "${LZ4_LIBRARY}") |
| 31 | + |
| 32 | + if (NOT TARGET LZ4::LZ4) |
| 33 | + add_library(LZ4::LZ4 UNKNOWN IMPORTED) |
| 34 | + set_target_properties(LZ4::LZ4 PROPERTIES |
| 35 | + IMPORTED_LOCATION "${LZ4_LIBRARY}" |
| 36 | + INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}") |
| 37 | + endif () |
| 38 | +endif () |
0 commit comments