diff --git a/bindings/torrent/cmake/FindLibtorrentRasterbar.cmake b/bindings/torrent/cmake/FindLibtorrentRasterbar.cmake index 7f9422e..f94fa4e 100644 --- a/bindings/torrent/cmake/FindLibtorrentRasterbar.cmake +++ b/bindings/torrent/cmake/FindLibtorrentRasterbar.cmake @@ -44,109 +44,4 @@ if (LibtorrentRasterbar_FOUND) else() set(LibtorrentRasterbar_OPENSSL_ENABLED FALSE) endif() -else() - find_package(Threads QUIET REQUIRED) - find_package(PkgConfig QUIET) - - if(PKG_CONFIG_FOUND) - pkg_check_modules(PC_LIBTORRENT_RASTERBAR QUIET libtorrent-rasterbar) - endif() - - if(LibtorrentRasterbar_USE_STATIC_LIBS) - set(LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() - - if(PC_LIBTORRENT_RASTERBAR_FOUND) - set(LibtorrentRasterbar_DEFINITIONS ${PC_LIBTORRENT_RASTERBAR_CFLAGS_OTHER}) - else() - if(LibtorrentRasterbar_CUSTOM_DEFINITIONS) - set(LibtorrentRasterbar_DEFINITIONS ${LibtorrentRasterbar_CUSTOM_DEFINITIONS}) - else() - # Without pkg-config, we can't possibly figure out the correct build flags. - # libtorrent is very picky about those. Let's take a set of defaults and - # hope that they apply. If not, you the user are on your own. - set(LibtorrentRasterbar_DEFINITIONS - -DTORRENT_USE_OPENSSL - -DTORRENT_DISABLE_GEO_IP - -DBOOST_ASIO_ENABLE_CANCELIO - -D_FILE_OFFSET_BITS=64) - endif() - - if(NOT LibtorrentRasterbar_USE_STATIC_LIBS) - list(APPEND LibtorrentRasterbar_DEFINITIONS - -DTORRENT_LINKING_SHARED - -DBOOST_SYSTEM_DYN_LINK) - endif() - endif() - - if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) - message(STATUS "libtorrent definitions: ${LibtorrentRasterbar_DEFINITIONS}") - endif() - - find_path(LibtorrentRasterbar_INCLUDE_DIR libtorrent - HINTS ${PC_LIBTORRENT_RASTERBAR_INCLUDEDIR} ${PC_LIBTORRENT_RASTERBAR_INCLUDE_DIRS} - PATH_SUFFIXES libtorrent-rasterbar) - - find_library(LibtorrentRasterbar_LIBRARY NAMES torrent-rasterbar - HINTS ${PC_LIBTORRENT_RASTERBAR_LIBDIR} ${PC_LIBTORRENT_RASTERBAR_LIBRARY_DIRS}) - - if(LibtorrentRasterbar_USE_STATIC_LIBS) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) - endif() - - set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) - set(LibtorrentRasterbar_INCLUDE_DIRS ${LibtorrentRasterbar_INCLUDE_DIR}) - - if(NOT Boost_SYSTEM_FOUND) - find_package(Boost QUIET REQUIRED COMPONENTS system) - set(LibtorrentRasterbar_LIBRARIES - ${LibtorrentRasterbar_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - set(LibtorrentRasterbar_INCLUDE_DIRS - ${LibtorrentRasterbar_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - endif() - - list(FIND LibtorrentRasterbar_DEFINITIONS -DTORRENT_USE_OPENSSL LibtorrentRasterbar_ENCRYPTION_INDEX) - if(LibtorrentRasterbar_ENCRYPTION_INDEX GREATER -1) - find_package(OpenSSL QUIET REQUIRED) - set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARIES} ${OPENSSL_LIBRARIES}) - set(LibtorrentRasterbar_INCLUDE_DIRS ${LibtorrentRasterbar_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR}) - set(LibtorrentRasterbar_OPENSSL_ENABLED ON) - endif() - - include(FindPackageHandleStandardArgs) - # handle the QUIETLY and REQUIRED arguments and set LibtorrentRasterbar_FOUND to TRUE - # if all listed variables are TRUE - find_package_handle_standard_args(LibtorrentRasterbar DEFAULT_MSG - LibtorrentRasterbar_LIBRARY - LibtorrentRasterbar_INCLUDE_DIR - Boost_SYSTEM_FOUND - ) - - mark_as_advanced(LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY - LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES - LibtorrentRasterbar_ENCRYPTION_INDEX) - - if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::torrent-rasterbar) - add_library(LibtorrentRasterbar::torrent-rasterbar SHARED IMPORTED) - - # LibtorrentRasterbar_DEFINITIONS var contains a mix of -D, -f, and possible -std options - # let's split them into definitions and options (that are not definitions) - set(LibtorrentRasterbar_defines "${LibtorrentRasterbar_DEFINITIONS}") - set(LibtorrentRasterbar_options "${LibtorrentRasterbar_DEFINITIONS}") - list(FILTER LibtorrentRasterbar_defines INCLUDE REGEX "(^|;)-D.+") - list(FILTER LibtorrentRasterbar_options EXCLUDE REGEX "(^|;)-D.+") - # remove '-D' from LibtorrentRasterbar_defines - string(REGEX REPLACE "(^|;)(-D)" "\\1" LibtorrentRasterbar_defines "${LibtorrentRasterbar_defines}") - - set_target_properties(LibtorrentRasterbar::torrent-rasterbar PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" - IMPORTED_LOCATION "${LibtorrentRasterbar_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES "${LibtorrentRasterbar_LIBRARIES}" - INTERFACE_COMPILE_DEFINITIONS "${LibtorrentRasterbar_defines}" - INTERFACE_COMPILE_OPTIONS "${LibtorrentRasterbar_options}" - ) - endif() endif()