50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
if(DEFLATE_PREFER_STATIC_LIB)
|
|
set(DEFLATE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
if(WIN32)
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
else()
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
endif()
|
|
endif()
|
|
|
|
if(UNIX)
|
|
find_package(PkgConfig QUIET)
|
|
# pkg-config support added in libdeflate v1.9
|
|
pkg_check_modules(_DEFLATE QUIET libdeflate)
|
|
endif()
|
|
|
|
find_path(DEFLATE_INCLUDE_DIR
|
|
NAMES libdeflate.h
|
|
HINTS ${_DEFLATE_INCLUDEDIR})
|
|
find_library(DEFLATE_LIBRARY
|
|
NAMES deflate
|
|
HINTS ${_DEFLATE_LIBDIR})
|
|
|
|
set(DEFLATE_INCLUDE_DIRS ${DEFLATE_INCLUDE_DIR})
|
|
set(DEFLATE_LIBRARIES ${DEFLATE_LIBRARY})
|
|
|
|
if(_DEFLATE_VERSION)
|
|
set(DEFLATE_VERSION ${_DEFLATE_VERSION})
|
|
elseif(DEFLATE_INCLUDE_DIR)
|
|
file(STRINGS "${DEFLATE_INCLUDE_DIR}/libdeflate.h" DEFLATE_VERSION_STR
|
|
REGEX "^#define[\t ]+LIBDEFLATE_VERSION_STRING[\t ]+\"[^\"]+\"")
|
|
if(DEFLATE_VERSION_STR MATCHES "\"([^\"]+)\"")
|
|
set(DEFLATE_VERSION "${CMAKE_MATCH_1}")
|
|
endif()
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(DEFLATE
|
|
REQUIRED_VARS
|
|
DEFLATE_INCLUDE_DIR
|
|
DEFLATE_LIBRARY
|
|
VERSION_VAR DEFLATE_VERSION)
|
|
|
|
mark_as_advanced(DEFLATE_INCLUDE_DIR DEFLATE_LIBRARY)
|
|
|
|
if(DEFLATE_PREFER_STATIC_LIB)
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ${DEFLATE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
unset(DEFLATE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
endif()
|