You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.5 KiB
CMake

find_path(LZMA_INCLUDE_DIR
NAMES lzma.h
DOC "lzma include directory")
find_library(LZMA_LIBRARY
NAMES lzma
DOC "lzma library")
if (LZMA_INCLUDE_DIR)
file(STRINGS "${LZMA_INCLUDE_DIR}/lzma/version.h" _lzma_version_lines
REGEX "#define[ \t]+LZMA_VERSION_(MAJOR|MINOR|PATCH)")
string(REGEX REPLACE ".*LZMA_VERSION_MAJOR *\([0-9]*\).*" "\\1" _lzma_version_major "${_lzma_version_lines}")
string(REGEX REPLACE ".*LZMA_VERSION_MINOR *\([0-9]*\).*" "\\1" _lzma_version_minor "${_lzma_version_lines}")
string(REGEX REPLACE ".*LZMA_VERSION_PATCH *\([0-9]*\).*" "\\1" _lzma_version_patch "${_lzma_version_lines}")
set(LZMA_VERSION "${_lzma_version_major}.${_lzma_version_minor}.${_lzma_version_patch}")
unset(_lzma_version_major)
unset(_lzma_version_minor)
unset(_lzma_version_patch)
unset(_lzma_version_lines)
endif ()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LZMA
REQUIRED_VARS LZMA_LIBRARY LZMA_INCLUDE_DIR
VERSION_VAR LZMA_VERSION)
if (LZMA_FOUND)
set(LZMA_LIBRARIES "${LZMA_LIBRARY}")
set(LZMA_INCLUDE_DIRS "${LZMA_INCLUDE_DIR}")
if (NOT TARGET LZMA::LZMA)
include(vtkDetectLibraryType)
vtk_detect_library_type(lzma_library_type
PATH "${LZMA_LIBRARY}")
add_library(LZMA::LZMA "${lzma_library_type}" IMPORTED)
unset(lzma_library_type)
set_target_properties(LZMA::LZMA PROPERTIES
IMPORTED_LOCATION "${LZMA_LIBRARY}"
IMPORTED_IMPLIB "${LZMA_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${LZMA_INCLUDE_DIR}")
endif ()
endif ()