summaryrefslogtreecommitdiff
path: root/libs/enet
diff options
context:
space:
mode:
Diffstat (limited to 'libs/enet')
-rw-r--r--libs/enet/CMakeLists.txt55
1 files changed, 55 insertions, 0 deletions
diff --git a/libs/enet/CMakeLists.txt b/libs/enet/CMakeLists.txt
new file mode 100644
index 00000000..714d9c03
--- /dev/null
+++ b/libs/enet/CMakeLists.txt
@@ -0,0 +1,55 @@
+INCLUDE(CheckFunctionExists)
+CHECK_FUNCTION_EXISTS(gethostbyaddr_r HAS_GETHOSTBYNAME_R)
+IF(HAS_GETHOSTBYNAME_R EQUAL 1)
+ SET (FLAGS "${FLAGS} -DHAS_GETHOSTBYADDR_R")
+ENDIF()
+
+CHECK_FUNCTION_EXISTS(poll HAS_POLL)
+IF(HAS_POLL EQUAL 1)
+ SET (FLAGS "${FLAGS} -DHAS_POLL")
+ENDIF()
+
+CHECK_FUNCTION_EXISTS(fcntl HAS_FCNTL)
+IF(HAS_FCNTL)
+ SET (FLAGS "${FLAGS} -DHAS_FCNTL")
+ENDIF()
+
+CHECK_FUNCTION_EXISTS(inet_pton HAS_INETPTON)
+IF(HAS_INETPTON EQUAL 1)
+ SET (FLAGS "${FLAGS} -DHAS_INETPTON")
+ENDIF()
+
+CHECK_FUNCTION_EXISTS(inet_ntop HAS_INETNTOP)
+IF(HAS_INETNTOP EQUAL 1)
+ SET (FLAGS "${FLAGS} -DHAS_INETNTOP")
+ENDIF()
+
+INCLUDE(CheckTypeSize)
+SET (CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
+CHECK_TYPE_SIZE(socklen_t SOCKLEN_T)
+IF(HAVE_SOCKLEN_T)
+ SET (FLAGS "${FLAGS} -DHAS_SOCKLEN_T")
+ENDIF()
+
+INCLUDE(CheckStructHasMember)
+CHECK_STRUCT_HAS_MEMBER("struct msghdr" msg_flags sys/socket.h HAS_MSGHDR_FLAGS)
+IF(HAS_MSGHDR_FLAGS EQUAL 1)
+ SET (FLAGS "${FLAGS} -DHAS_MSGHDR_FLAGS")
+ENDIF()
+
+SET (SRCS
+ callbacks.c
+ compress.c
+ host.c
+ list.c
+ packet.c
+ peer.c
+ protocol.c
+ unix.c
+ win32.c
+ )
+
+INCLUDE_DIRECTORIES("include")
+
+ADD_LIBRARY(enet STATIC ${SRCS})
+SET_TARGET_PROPERTIES(enet PROPERTIES COMPILE_FLAGS "${FLAGS}") \ No newline at end of file