Vladimir Golovnev (Glassez)
4 years ago
5 changed files with 136 additions and 10 deletions
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
Source: libtorrent |
||||
Version: 1.2.12 |
||||
Homepage: https://github.com/arvidn/libtorrent |
||||
Description: An efficient feature complete C++ BitTorrent implementation |
||||
Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config, boost-iterator, boost-scope-exit, boost-multiprecision, boost-pool, boost-variant |
||||
Supports: !uwp&!(windows&arm) |
||||
|
||||
Feature: deprfun |
||||
Description: build with deprecated functions enabled |
||||
|
||||
Feature: examples |
||||
Description: build the examples in the examples directory |
||||
|
||||
Feature: iconv |
||||
Build-Depends: libiconv (windows) |
||||
Description: build with libiconv on Windows |
||||
|
||||
Feature: python |
||||
Build-Depends: boost-python |
||||
Description: build the python bindings in bindings/python directory |
||||
|
||||
Feature: test |
||||
Description: build the libtorrent tests |
||||
|
||||
Feature: tools |
||||
Description: build the tools in the tools directory |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9efd451fb..05066be82 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -643,26 +643,6 @@ target_optional_compile_definitions(torrent-rasterbar PUBLIC FEATURE NAME mutabl
|
||||
target_optional_compile_definitions(torrent-rasterbar PUBLIC FEATURE NAME streaming DEFAULT ON |
||||
DESCRIPTION "Enables support for piece deadline" DISABLED TORRENT_DISABLE_STREAMING) |
||||
|
||||
-find_public_dependency(Iconv)
|
||||
-if(MSVC)
|
||||
- set(iconv_package_type OPTIONAL)
|
||||
-else()
|
||||
- set(iconv_package_type RECOMMENDED)
|
||||
-endif()
|
||||
-
|
||||
-set_package_properties(Iconv
|
||||
- PROPERTIES
|
||||
- URL "https://www.gnu.org/software/libiconv/"
|
||||
- DESCRIPTION "GNU encoding conversion library"
|
||||
- TYPE ${iconv_package_type}
|
||||
- PURPOSE "Convert strings between various encodings"
|
||||
-)
|
||||
-
|
||||
-if(Iconv_FOUND)
|
||||
- target_compile_definitions(torrent-rasterbar PUBLIC TORRENT_USE_ICONV)
|
||||
- target_link_libraries(torrent-rasterbar PRIVATE Iconv::Iconv)
|
||||
-endif()
|
||||
-
|
||||
find_public_dependency(OpenSSL) |
||||
set_package_properties(OpenSSL |
||||
PROPERTIES |
@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
|
||||
vcpkg_fail_port_install(ON_TARGET "uwp") |
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS) |
||||
# Building python bindings is currently broken on Windows |
||||
if("python" IN_LIST FEATURES) |
||||
message(FATAL_ERROR "The python feature is currently broken on Windows") |
||||
endif() |
||||
|
||||
if(NOT "iconv" IN_LIST FEATURES) |
||||
# prevent picking up libiconv if it happens to already be installed |
||||
set(ICONV_PATCH "no_use_iconv.patch") |
||||
endif() |
||||
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static") |
||||
set(_static_runtime ON) |
||||
endif() |
||||
endif() |
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS |
||||
deprfun deprecated-functions |
||||
examples build_examples |
||||
python python-bindings |
||||
test build_tests |
||||
tools build_tools |
||||
) |
||||
|
||||
# Note: the python feature currently requires `python3-dev` and `python3-setuptools` installed on the system |
||||
if("python" IN_LIST FEATURES) |
||||
vcpkg_find_acquire_program(PYTHON3) |
||||
get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) |
||||
vcpkg_add_to_path(${PYTHON3_PATH}) |
||||
|
||||
file(GLOB BOOST_PYTHON_LIB "${CURRENT_INSTALLED_DIR}/lib/*boost_python*") |
||||
string(REGEX REPLACE ".*(python)([0-9])([0-9]+).*" "\\1\\2\\3" _boost-python-module-name "${BOOST_PYTHON_LIB}") |
||||
endif() |
||||
|
||||
vcpkg_from_github( |
||||
OUT_SOURCE_PATH SOURCE_PATH |
||||
REPO arvidn/libtorrent |
||||
REF v1.2.12 |
||||
SHA512 78be4c12e12f593154eda0960aaf9583fe27310e0223dbb21220400c5339744c9b2b11afa880fea30f77b4c0d07345937ff8a20d58d2d4ed7dcda84601380e20 |
||||
HEAD_REF RC_1_2 |
||||
PATCHES |
||||
${ICONV_PATCH} |
||||
) |
||||
|
||||
vcpkg_configure_cmake( |
||||
SOURCE_PATH ${SOURCE_PATH} |
||||
PREFER_NINJA # Disable this option if project cannot be built with Ninja |
||||
OPTIONS |
||||
${FEATURE_OPTIONS} |
||||
-DCMAKE_CXX_STANDARD=17 |
||||
-Dboost-python-module-name=${_boost-python-module-name} |
||||
-Dstatic_runtime=${_static_runtime} |
||||
-DPython3_USE_STATIC_LIBS=ON |
||||
) |
||||
|
||||
vcpkg_install_cmake() |
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/LibtorrentRasterbar TARGET_PATH share/LibtorrentRasterbar) |
||||
|
||||
# Handle copyright |
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |
||||
|
||||
# Do not duplicate include files |
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/cmake) |
Loading…
Reference in new issue