Skip to content

Commit

Permalink
libnice port
Browse files Browse the repository at this point in the history
  • Loading branch information
iraklisk committed Feb 13, 2017
1 parent c9bf4b6 commit a932e5f
Show file tree
Hide file tree
Showing 3 changed files with 180 additions and 0 deletions.
144 changes: 144 additions & 0 deletions ports/libnice/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
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})


## section: source files
# Add your source files here (one file per line), please SORT in alphabetical order for future maintenance
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
)

## section: header files
# Add your header files here(one file per line), please SORT in alphabetical order for future maintenance!
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 changes: 4 additions & 0 deletions ports/libnice/CONTROL
Original file line number Diff line number Diff line change
@@ -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
32 changes: 32 additions & 0 deletions ports/libnice/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Common Ambient Variables:
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# TARGET_TRIPLET is the current triplet (x86-windows, etc)
# PORT is the current port name (zlib, etc)
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#

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()

# Handle copyright
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)

0 comments on commit a932e5f

Please sign in to comment.