mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-29 21:54:23 +08:00
commit
9069ec64e6
81
ports/enet/CMakeLists.txt
Normal file
81
ports/enet/CMakeLists.txt
Normal file
@ -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)
|
4
ports/enet/CONTROL
Normal file
4
ports/enet/CONTROL
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Source: enet
|
||||||
|
Version: 1.3.13
|
||||||
|
Description: Reliable UDP networking library
|
||||||
|
|
38
ports/enet/portfile.cmake
Normal file
38
ports/enet/portfile.cmake
Normal file
@ -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()
|
Loading…
Reference in New Issue
Block a user