if(${CMAKE_FIND_PACKAGE_NAME}_PREFER_STATIC_LIB) set(${CMAKE_FIND_PACKAGE_NAME}_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_check_modules(_PSL QUIET libpsl) endif() find_path(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR NAMES libpsl.h HINTS ${_PSL_INCLUDEDIR}) find_library(${CMAKE_FIND_PACKAGE_NAME}_LIBRARY NAMES psl HINTS ${_PSL_LIBDIR}) if(_PSL_VERSION) set(${CMAKE_FIND_PACKAGE_NAME}_VERSION ${_PSL_VERSION}) elseif(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR) file(STRINGS "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}/libpsl.h" _PSL_VERSION_STR REGEX "^#define[\t ]+PSL_VERSION[\t ]+\"[^\"]+\"") if(_PSL_VERSION_STR MATCHES "\"([^\"]+)\"") set(${CMAKE_FIND_PACKAGE_NAME}_VERSION "${CMAKE_MATCH_1}") endif() endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(${CMAKE_FIND_PACKAGE_NAME} REQUIRED_VARS ${CMAKE_FIND_PACKAGE_NAME}_LIBRARY ${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR VERSION_VAR ${CMAKE_FIND_PACKAGE_NAME}_VERSION) if(${CMAKE_FIND_PACKAGE_NAME}_FOUND) set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIRS ${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}) set(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES ${${CMAKE_FIND_PACKAGE_NAME}_LIBRARY}) endif() mark_as_advanced(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR ${CMAKE_FIND_PACKAGE_NAME}_LIBRARY) if(${CMAKE_FIND_PACKAGE_NAME}_PREFER_STATIC_LIB) set(CMAKE_FIND_LIBRARY_SUFFIXES ${${CMAKE_FIND_PACKAGE_NAME}_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) unset(${CMAKE_FIND_PACKAGE_NAME}_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) endif()