mirror of
https://github.com/transmission/transmission.git
synced 2026-05-08 09:39:08 +01:00
build: improve building with system libb64 (#8195)
This commit is contained in:
+1
-2
@@ -566,9 +566,8 @@ if(ENABLE_UTP)
|
||||
-DLIBUTP_SHARED:BOOL=OFF)
|
||||
endif()
|
||||
|
||||
tr_add_external_auto_library_legacy(B64 libb64 b64
|
||||
tr_add_external_auto_library(B64 libb64
|
||||
SUBPROJECT
|
||||
TARGET libb64::libb64
|
||||
CMAKE_ARGS
|
||||
-DLIBB64_SHARED:BOOL=OFF)
|
||||
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
if(B64_PREFER_STATIC_LIB)
|
||||
set(B64_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(B64_INCLUDE_DIR
|
||||
NAMES
|
||||
b64/cdecode.h
|
||||
b64/cencode.h
|
||||
HINTS ${_B64_INCLUDEDIR})
|
||||
find_library(B64_LIBRARY
|
||||
NAMES b64
|
||||
HINTS ${_B64_LIBDIR})
|
||||
|
||||
set(B64_INCLUDE_DIRS ${B64_INCLUDE_DIR})
|
||||
set(B64_LIBRARIES ${B64_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(B64
|
||||
REQUIRED_VARS
|
||||
B64_LIBRARY
|
||||
B64_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(B64_INCLUDE_DIR B64_LIBRARY)
|
||||
|
||||
if(B64_PREFER_STATIC_LIB)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${B64_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
unset(B64_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endif()
|
||||
@@ -0,0 +1,51 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user