Merge pull request #658 from iraklisk/master

Nice (libnice) port
This commit is contained in:
Robert Schumacher 2017-02-12 23:32:35 -08:00 committed by GitHub
commit 99edec7538
3 changed files with 170 additions and 0 deletions

View File

@ -0,0 +1,139 @@
cmake_minimum_required(VERSION 3.0)
project(libnice C)
SET (this_target libnice)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY)
find_path(GLIB_INCLUDE_DIR glib.h)
find_library(GLIB_LIBRARY glib-2.0)
find_library(GOBJECT_LIBRARY gobject-2.0)
find_library(GIO_LIBRARY gio-2.0)
find_library(IPHLPAPI_LIBRARY iphlpapi)
find_library(WS2_32_LIB ws2_32)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/agent
${CMAKE_CURRENT_SOURCE_DIR}/random
${CMAKE_CURRENT_SOURCE_DIR}/socket
${CMAKE_CURRENT_SOURCE_DIR}/stun
${GLIB_INCLUDE_DIR})
SET (SRCS
./agent/address.c
./agent/agent.c
./agent/candidate.c
./agent/component.c
./agent/conncheck.c
./agent/debug.c
./agent/discovery.c
./agent/discovery.c
./agent/inputstream.c
./agent/interfaces.c
./agent/iostream.c
./agent/outputstream.c
./agent/pseudotcp.c
./agent/stream.c
./random/random.c
./random/random-glib.c
./socket/http.c
./socket/pseudossl.c
./socket/socket.c
./socket/socks5.c
./socket/tcp-active.c
./socket/tcp-bsd.c
./socket/tcp-passive.c
./socket/udp-bsd.c
./socket/udp-turn.c
./socket/udp-turn-over-tcp.c
./stun/debug.c
./stun/md5.c
./stun/rand.c
./stun/sha1.c
./stun/stun5389.c
./stun/stunagent.c
./stun/stuncrc32.c
./stun/stunhmac.c
./stun/stunmessage.c
./stun/usages/bind.c
./stun/usages/ice.c
./stun/usages/timer.c
./stun/usages/turn.c
./stun/utils.c
./libnice.def
)
SET(HEADERS
./config.h
./agent/address.h
./agent/agent.h
./agent/agent-priv.h
./agent/candidate.h
./agent/component.h
./agent/conncheck.h
./agent/debug.h
./agent/discovery.h
./agent/discovery.h
./agent/inputstream.h
./agent/interfaces.h
./agent/iostream.h
./agent/outputstream.h
./agent/pseudotcp.h
./agent/stream.h
./random/random.h
./random/random-glib.h
./socket/http.h
./socket/pseudossl.h
./socket/socket.h
./socket/socks5.h
./socket/tcp-active.h
./socket/tcp-bsd.h
./socket/tcp-passive.h
./socket/udp-bsd.h
./socket/udp-turn.h
./socket/udp-turn-over-tcp.h
./stun/constants.h
./stun/debug.h
./stun/md5.h
./stun/rand.h
./stun/sha1.h
./stun/stun5389.h
./stun/stunagent.h
./stun/stuncrc32.h
./stun/stunhmac.h
./stun/stunmessage.h
./stun/usages/bind.h
./stun/usages/ice.h
./stun/usages/timer.h
./stun/usages/turn.h
./stun/utils.h
./stun/win32_common.h
)
add_library(libnice ${SRCS} ${HEADERS})
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267")
target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${GLIB_LIBRARY} ${GOBJECT_LIBRARY} ${GIO_LIBRARY})
install(TARGETS libnice
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
install(FILES agent/address.h DESTINATION include/nice)
install(FILES agent/agent.h DESTINATION include/nice)
install(FILES agent/candidate.h DESTINATION include/nice)
install(FILES agent/debug.h DESTINATION include/nice)
install(FILES agent/interfaces.h DESTINATION include/nice)
install(FILES nice/nice.h DESTINATION include/nice)
install(FILES agent/pseudotcp.h DESTINATION include/nice)
install(FILES stun/constants.h DESTINATION include/stun)
install(FILES stun/debug.h DESTINATION include/stun)
install(FILES stun/stunagent.h DESTINATION include/stun)
install(FILES stun/stunmessage.h DESTINATION include/stun)
install(FILES stun/usages/bind.h DESTINATION include/stun/usages)
install(FILES stun/usages/ice.h DESTINATION include/stun/usages)
install(FILES stun/usages/timer.h DESTINATION include/stun/usages)
install(FILES stun/usages/turn.h DESTINATION include/stun/usages)
install(FILES stun/win32_common.h DESTINATION include/stun)
endif()

4
ports/libnice/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: libnice
Version: 0.1.13
Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).
Build-Depends: glib

View File

@ -0,0 +1,27 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libnice-0.1.13)
vcpkg_download_distfile(ARCHIVE
URLS "https://nice.freedesktop.org/releases/libnice-0.1.13.tar.gz"
FILENAME "libnice-0.1.13.tar.gz"
SHA512 c9bb81e8cd0b4e3673dba07ce08a16dd8821831339b44f1006510cdc09f9ae4c6eb7d43230711a2509867acb8d7df71821c411830dbf71c5a5d7e802f14a32c1
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS_RELEASE -DOPTIMIZE=1
OPTIONS_DEBUG -DDEBUGGABLE=1
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(COPY ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(COPY ${SOURCE_PATH}/COPYING.MPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libnice/COPYING ${CURRENT_PACKAGES_DIR}/share/libnice/copyright)