diff options
author | Bernd Wachter <bwachter-mana@lart.info> | 2010-08-15 00:40:43 +0300 |
---|---|---|
committer | Bernd Wachter <bwachter-mana@lart.info> | 2010-08-15 00:40:43 +0300 |
commit | 7416c489fafc1bf7779c535662961818c2047c3f (patch) | |
tree | 258245cf5f908a22f55f78f2aec612b44fb0b8d3 | |
parent | 3a6ff85e8f03960fc0709ed1cb203a44b8c4d6b5 (diff) | |
download | manaserv-7416c489fafc1bf7779c535662961818c2047c3f.tar.gz manaserv-7416c489fafc1bf7779c535662961818c2047c3f.tar.xz manaserv-7416c489fafc1bf7779c535662961818c2047c3f.zip |
Add included enet to CMake
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | libs/enet/CMakeLists.txt | 55 | ||||
-rw-r--r-- | src/CMakeLists.txt | 11 |
3 files changed, 65 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e3a7aa..ed39e69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_POLICY(VERSION 2.6) PROJECT(MANASERV) @@ -50,4 +51,5 @@ ELSE (WIN32) SET(PKG_BINDIR ${CMAKE_INSTALL_PREFIX}/bin) ENDIF (WIN32) +ADD_SUBDIRECTORY(libs/enet) ADD_SUBDIRECTORY(src) diff --git a/libs/enet/CMakeLists.txt b/libs/enet/CMakeLists.txt new file mode 100644 index 0000000..714d9c0 --- /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 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b7c0641..5e5da61 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,3 @@ -FIND_PACKAGE(ENet REQUIRED) FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(PhysFS REQUIRED) @@ -13,6 +12,13 @@ IF (CMAKE_COMPILER_IS_GNUCXX) ENDIF() ENDIF() +IF (POLICY CMP0015) + CMAKE_POLICY(SET CMP0015 OLD) +ENDIF() +INCLUDE_DIRECTORIES("../libs/enet/include") +LINK_DIRECTORIES("../libs/enet") +SET(INTERNAL_LIBRARIES enet) + # enable rc-handling with mingw # most likely this part can be kicked out with some later cmake version IF (MINGW) @@ -87,7 +93,6 @@ ENDIF() INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} - ${ENET_INCLUDE_DIR} ${PHYSFS_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR} ) @@ -294,7 +299,7 @@ ADD_EXECUTABLE(manaserv-game WIN32 ${SRCS} ${SRCS_MANASERVGAME}) ADD_EXECUTABLE(manaserv-account WIN32 ${SRCS} ${SRCS_MANASERVACCOUNT}) FOREACH(program ${PROGRAMS}) - TARGET_LINK_LIBRARIES(${program} ${ENET_LIBRARIES} + TARGET_LINK_LIBRARIES(${program} ${INTERNAL_LIBRARIES} ${PHYSFS_LIBRARY} ${LIBXML2_LIBRARIES} ${OPTIONAL_LIBRARIES} |