mirror of
https://github.com/transmission/transmission.git
synced 2026-02-14 23:19:34 +00:00
build: improve building with system libnatpmp (#8189)
This commit is contained in:
@@ -525,7 +525,8 @@ tr_add_external_auto_library_legacy(EVENT2 libevent event
|
||||
-DEVENT__DISABLE_SAMPLES:BOOL=ON
|
||||
-DEVENT__LIBRARY_TYPE:STRING=STATIC)
|
||||
|
||||
tr_add_external_auto_library_legacy(NATPMP libnatpmp natpmp
|
||||
tr_add_external_auto_library(NATPMP libnatpmp
|
||||
LIBNAME natpmp
|
||||
TARGET natpmp::natpmp
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS=OFF)
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
if(NATPMP_PREFER_STATIC_LIB)
|
||||
set(NATPMP_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(_NATPMP QUIET libnatpmp)
|
||||
endif()
|
||||
|
||||
find_path(NATPMP_INCLUDE_DIR
|
||||
NAMES natpmp.h
|
||||
HINTS ${_NATPMP_INCLUDEDIR})
|
||||
find_library(NATPMP_LIBRARY
|
||||
NAMES natpmp
|
||||
HINTS ${_NATPMP_LIBDIR})
|
||||
|
||||
set(NATPMP_INCLUDE_DIRS ${NATPMP_INCLUDE_DIR})
|
||||
set(NATPMP_LIBRARIES ${NATPMP_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(NATPMP
|
||||
REQUIRED_VARS
|
||||
NATPMP_LIBRARY
|
||||
NATPMP_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(NATPMP_INCLUDE_DIR NATPMP_LIBRARY)
|
||||
|
||||
if(NATPMP_PREFER_STATIC_LIB)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${NATPMP_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
unset(NATPMP_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endif()
|
||||
39
cmake/Findlibnatpmp.cmake
Normal file
39
cmake/Findlibnatpmp.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
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(_NATPMP QUIET libnatpmp)
|
||||
endif()
|
||||
|
||||
find_path(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR
|
||||
NAMES natpmp.h
|
||||
HINTS ${_NATPMP_INCLUDEDIR})
|
||||
find_library(${CMAKE_FIND_PACKAGE_NAME}_LIBRARY
|
||||
NAMES natpmp
|
||||
HINTS ${_NATPMP_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})
|
||||
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