--- cmake/Findlibpsl.cmake.orig 2026-01-31 08:51:25 UTC +++ cmake/Findlibpsl.cmake @@ -0,0 +1,49 @@ +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()