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 ()