early-access version 2853
This commit is contained in:
61
externals/vcpkg/ports/libdatachannel/0001-fix-for-vcpkg.patch
vendored
Executable file
61
externals/vcpkg/ports/libdatachannel/0001-fix-for-vcpkg.patch
vendored
Executable file
@@ -0,0 +1,61 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8907872..31d8836 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -28,7 +28,6 @@ endif()
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
-set(BUILD_SHARED_LIBS OFF) # to force usrsctp to be built static
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
||||
@@ -201,12 +200,13 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
-set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
|
||||
-add_subdirectory(deps/plog EXCLUDE_FROM_ALL)
|
||||
+find_library(USRSCTP_LIBRARY usrsctp REQUIRED)
|
||||
+find_path(PLOG_INCLUDE_DIRS "plog/Appenders/AndroidAppender.h")
|
||||
|
||||
if(SCTP_DEBUG)
|
||||
add_definitions(-DSCTP_DEBUG)
|
||||
endif()
|
||||
+if(0)
|
||||
option(sctp_build_programs 0)
|
||||
option(sctp_build_shared_lib 0)
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||
@@ -218,8 +218,9 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
target_compile_options(usrsctp PRIVATE -Wno-error=format-truncation)
|
||||
endif()
|
||||
add_library(Usrsctp::Usrsctp ALIAS usrsctp)
|
||||
+endif()
|
||||
|
||||
-add_library(datachannel SHARED
|
||||
+add_library(datachannel
|
||||
${LIBDATACHANNEL_SOURCES}
|
||||
${LIBDATACHANNEL_HEADERS}
|
||||
${LIBDATACHANNEL_IMPL_SOURCES}
|
||||
@@ -243,16 +244,18 @@ target_include_directories(datachannel PUBLIC
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
target_include_directories(datachannel PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/rtc)
|
||||
target_include_directories(datachannel PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
+target_include_directories(datachannel PRIVATE ${PLOG_INCLUDE_DIRS})
|
||||
target_link_libraries(datachannel PRIVATE Threads::Threads)
|
||||
-target_link_libraries(datachannel PRIVATE Usrsctp::Usrsctp plog::plog)
|
||||
+target_link_libraries(datachannel PRIVATE ${USRSCTP_LIBRARY})
|
||||
|
||||
target_include_directories(datachannel-static PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
target_include_directories(datachannel-static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/rtc)
|
||||
target_include_directories(datachannel-static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
+target_include_directories(datachannel PRIVATE ${PLOG_INCLUDE_DIRS})
|
||||
target_link_libraries(datachannel-static PRIVATE Threads::Threads)
|
||||
-target_link_libraries(datachannel-static PRIVATE Usrsctp::Usrsctp plog::plog)
|
||||
+target_link_libraries(datachannel-static PRIVATE ${USRSCTP_LIBRARY})
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(datachannel PUBLIC ws2_32) # winsock2
|
||||
|
||||
50
externals/vcpkg/ports/libdatachannel/portfile.cmake
vendored
Executable file
50
externals/vcpkg/ports/libdatachannel/portfile.cmake
vendored
Executable file
@@ -0,0 +1,50 @@
|
||||
set(PATCHES 0001-fix-for-vcpkg.patch)
|
||||
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
list(APPEND PATCHES uwp-warnings.patch)
|
||||
endif()
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO paullouisageneau/libdatachannel
|
||||
REF d9a9a4dcfb7445ed4f305c9aba889a162a4bad30 #v0.17.1
|
||||
SHA512 1b53f52e24ee4e01b2bd1d65c7d738e621f168b7718c1fe16e514c34e7bccc3d195c193a7363f31c6b651c7c6757260dce4b197111375800d2f6bdf0d5b06100
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
${PATCHES}
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
stdcall CAPI_STDCALL
|
||||
INVERTED_FEATURES
|
||||
ws NO_WEBSOCKET
|
||||
srtp NO_MEDIA
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DUSE_SYSTEM_SRTP=ON
|
||||
-DUSE_SYSTEM_JUICE=ON
|
||||
-DNO_EXAMPLES=ON
|
||||
-DNO_TESTS=ON
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME LibDataChannel CONFIG_PATH lib/cmake/LibDataChannel)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/share/LibDataChannel/LibDataChannelConfig.cmake" DATACHANNEL_CONFIG)
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/share/LibDataChannel/LibDataChannelConfig.cmake" "
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(Threads)
|
||||
find_dependency(OpenSSL)
|
||||
find_dependency(LibJuice)
|
||||
${DATACHANNEL_CONFIG}")
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
14
externals/vcpkg/ports/libdatachannel/uwp-warnings.patch
vendored
Executable file
14
externals/vcpkg/ports/libdatachannel/uwp-warnings.patch
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b79b458..790bf95 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -385,6 +385,9 @@ if(WARNINGS_AS_ERRORS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+target_compile_options(datachannel PRIVATE /wd4996)
|
||||
+target_compile_options(datachannel-static PRIVATE /wd4996)
|
||||
+
|
||||
install(TARGETS datachannel EXPORT LibDataChannelTargets
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
38
externals/vcpkg/ports/libdatachannel/vcpkg.json
vendored
Executable file
38
externals/vcpkg/ports/libdatachannel/vcpkg.json
vendored
Executable file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"name": "libdatachannel",
|
||||
"version-semver": "0.17.1",
|
||||
"description": "libdatachannel is a standalone implementation of WebRTC Data Channels, WebRTC Media Transport, and WebSockets in C++17 with C bindings for POSIX platforms (including GNU/Linux, Android, and Apple macOS) and Microsoft Windows.",
|
||||
"homepage": "https://github.com/paullouisageneau/libdatachannel",
|
||||
"license": "LGPL-2.1-only",
|
||||
"dependencies": [
|
||||
"libjuice",
|
||||
"openssl",
|
||||
"plog",
|
||||
"usrsctp",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
"ws"
|
||||
],
|
||||
"features": {
|
||||
"srtp": {
|
||||
"description": "Use Cisco's libSRTP for media transport.",
|
||||
"dependencies": [
|
||||
"libsrtp"
|
||||
]
|
||||
},
|
||||
"stdcall": {
|
||||
"description": "Use stdcall convention in callbacks"
|
||||
},
|
||||
"ws": {
|
||||
"description": "Web Socket support"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user