aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2017-09-28 12:33:04 -0700
committerGitHub <noreply@github.com>2017-09-28 12:33:04 -0700
commit9069ec64e691314844dfb95a668cc9cbd3cd548c (patch)
treedc7b0fc1d22cde188c16ce72554a29b5a29d2d5d
parent9f9b4bc5c85755af8eb5c2f74bec1d3b840eb781 (diff)
parenta4673fce890b5e38a12dffed0d9974c01d0a3d57 (diff)
downloadvcpkg-9069ec64e691314844dfb95a668cc9cbd3cd548c.tar.gz
vcpkg-9069ec64e691314844dfb95a668cc9cbd3cd548c.zip
Merge pull request #1876 from JonnyPtn/enet-port
Initial enet port
-rw-r--r--ports/enet/CMakeLists.txt81
-rw-r--r--ports/enet/CONTROL4
-rw-r--r--ports/enet/portfile.cmake38
3 files changed, 123 insertions, 0 deletions
diff --git a/ports/enet/CMakeLists.txt b/ports/enet/CMakeLists.txt
new file mode 100644
index 000000000..012e21d64
--- /dev/null
+++ b/ports/enet/CMakeLists.txt
@@ -0,0 +1,81 @@
+cmake_minimum_required(VERSION 2.6)
+
+project(enet)
+
+# The "configure" step.
+include(CheckFunctionExists)
+include(CheckStructHasMember)
+include(CheckTypeSize)
+check_function_exists("fcntl" HAS_FCNTL)
+check_function_exists("poll" HAS_POLL)
+check_function_exists("getaddrinfo" HAS_GETADDRINFO)
+check_function_exists("getnameinfo" HAS_GETNAMEINFO)
+check_function_exists("gethostbyname_r" HAS_GETHOSTBYNAME_R)
+check_function_exists("gethostbyaddr_r" HAS_GETHOSTBYADDR_R)
+check_function_exists("inet_pton" HAS_INET_PTON)
+check_function_exists("inet_ntop" HAS_INET_NTOP)
+check_struct_has_member("struct msghdr" "msg_flags" "sys/types.h;sys/socket.h" HAS_MSGHDR_FLAGS)
+set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h" "sys/socket.h")
+check_type_size("socklen_t" HAS_SOCKLEN_T BUILTIN_TYPES_ONLY)
+unset(CMAKE_EXTRA_INCLUDE_FILES)
+if(MSVC)
+ add_definitions(-W3)
+else()
+ add_definitions(-Wno-error)
+endif()
+
+if(HAS_FCNTL)
+ add_definitions(-DHAS_FCNTL=1)
+endif()
+if(HAS_POLL)
+ add_definitions(-DHAS_POLL=1)
+endif()
+if(HAS_GETNAMEINFO)
+ add_definitions(-DHAS_GETNAMEINFO=1)
+endif()
+if(HAS_GETADDRINFO)
+ add_definitions(-DHAS_GETADDRINFO=1)
+endif()
+if(HAS_GETHOSTBYNAME_R)
+ add_definitions(-DHAS_GETHOSTBYNAME_R=1)
+endif()
+if(HAS_GETHOSTBYADDR_R)
+ add_definitions(-DHAS_GETHOSTBYADDR_R=1)
+endif()
+if(HAS_INET_PTON)
+ add_definitions(-DHAS_INET_PTON=1)
+endif()
+if(HAS_INET_NTOP)
+ add_definitions(-DHAS_INET_NTOP=1)
+endif()
+if(HAS_MSGHDR_FLAGS)
+ add_definitions(-DHAS_MSGHDR_FLAGS=1)
+endif()
+if(HAS_SOCKLEN_T)
+ add_definitions(-DHAS_SOCKLEN_T=1)
+endif()
+
+include_directories(${PROJECT_SOURCE_DIR}/include)
+
+add_library(enet STATIC
+ callbacks.c
+ compress.c
+ host.c
+ list.c
+ packet.c
+ peer.c
+ protocol.c
+ unix.c
+ win32.c
+ )
+
+if (WIN32)
+ target_link_libraries(enet winmm ws2_32)
+endif()
+
+install(TARGETS enet ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+install(DIRECTORY include/
+ DESTINATION include) \ No newline at end of file
diff --git a/ports/enet/CONTROL b/ports/enet/CONTROL
new file mode 100644
index 000000000..f75b49de9
--- /dev/null
+++ b/ports/enet/CONTROL
@@ -0,0 +1,4 @@
+Source: enet
+Version: 1.3.13
+Description: Reliable UDP networking library
+
diff --git a/ports/enet/portfile.cmake b/ports/enet/portfile.cmake
new file mode 100644
index 000000000..2a7fa4585
--- /dev/null
+++ b/ports/enet/portfile.cmake
@@ -0,0 +1,38 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
+ REPO "lsalzman/enet"
+ REF f7c46f03fd8d883ac2811948aa71c7623069d070
+ HEAD_REF master
+ SHA512 2d5593ea56473b38479921fd0849318bf3ecb233f92fa487ba395a0bb7e6a3997109287867a67c66721f761a30cceab4ba4709080a93ed977b7650b10cab1936
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/enet RENAME copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file