Files
transmission/cmake/Findlibb64.cmake

52 lines
1.7 KiB
CMake

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(_B64 QUIET libb64)
endif()
find_path(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR
NAMES
b64/cdecode.h
b64/cencode.h
HINTS ${_B64_INCLUDEDIR})
find_library(${CMAKE_FIND_PACKAGE_NAME}_LIBRARY
NAMES b64
HINTS ${_B64_LIBDIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(${CMAKE_FIND_PACKAGE_NAME}
REQUIRED_VARS
${CMAKE_FIND_PACKAGE_NAME}_LIBRARY
${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR)
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})
if(NOT TARGET libb64::libb64)
add_library(libb64::libb64 INTERFACE IMPORTED)
target_include_directories(libb64::libb64
INTERFACE
${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR})
target_link_libraries(libb64::libb64
INTERFACE
${${CMAKE_FIND_PACKAGE_NAME}_LIBRARY})
endif()
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()