blob: e9978580612e15dfca5d3ef3f4158efdddfd7b93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
add_library(enet STATIC
"${CMAKE_CURRENT_LIST_DIR}/include/enet/callbacks.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/enet.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/list.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/protocol.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/time.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/types.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/unix.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/utility.h"
"${CMAKE_CURRENT_LIST_DIR}/include/enet/win32.h"
"${CMAKE_CURRENT_LIST_DIR}/src/callbacks.c"
"${CMAKE_CURRENT_LIST_DIR}/src/compress.c"
"${CMAKE_CURRENT_LIST_DIR}/src/host.c"
"${CMAKE_CURRENT_LIST_DIR}/src/list.c"
"${CMAKE_CURRENT_LIST_DIR}/src/packet.c"
"${CMAKE_CURRENT_LIST_DIR}/src/peer.c"
"${CMAKE_CURRENT_LIST_DIR}/src/protocol.c"
"${CMAKE_CURRENT_LIST_DIR}/src/unix.c"
"${CMAKE_CURRENT_LIST_DIR}/src/win32.c")
target_include_directories(enet PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include")
set_target_properties(enet PROPERTIES FOLDER Dependencies)
if(WIN32)
target_compile_definitions(enet PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS)
target_compile_options(enet PRIVATE -W3)
target_link_libraries(enet INTERFACE winmm ws2_32)
else()
target_compile_options(enet PRIVATE -Wno-error)
endif()
include(CheckFunctionExists)
include(CheckStructHasMember)
include(CheckTypeSize)
set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h" "sys/socket.h")
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)
check_type_size("socklen_t" HAS_SOCKLEN_T BUILTIN_TYPES_ONLY)
if(HAS_FCNTL)
target_compile_definitions(enet PRIVATE HAS_FCNTL)
endif()
if(HAS_POLL)
target_compile_definitions(enet PRIVATE HAS_POLL)
endif()
if(HAS_GETNAMEINFO)
target_compile_definitions(enet PRIVATE HAS_GETNAMEINFO)
endif()
if(HAS_GETADDRINFO)
target_compile_definitions(enet PRIVATE HAS_GETADDRINFO)
endif()
if(HAS_GETHOSTBYNAME_R)
target_compile_definitions(enet PRIVATE HAS_GETHOSTBYNAME_R)
endif()
if(HAS_GETHOSTBYADDR_R)
target_compile_definitions(enet PRIVATE HAS_GETHOSTBYADDR_R)
endif()
if(HAS_INET_PTON)
target_compile_definitions(enet PRIVATE HAS_INET_PTON)
endif()
if(HAS_INET_NTOP)
target_compile_definitions(enet PRIVATE HAS_INET_NTOP)
endif()
if(HAS_MSGHDR_FLAGS)
target_compile_definitions(enet PRIVATE HAS_MSGHDR_FLAGS)
endif()
if(HAS_SOCKLEN_T)
target_compile_definitions(enet PRIVATE HAS_SOCKLEN_T)
endif()
|