diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | libs/enet/CMakeLists.txt | 55 | ||||
-rw-r--r-- | src/CMakeLists.txt | 12 |
3 files changed, 66 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b396b8e1..552ab6e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_POLICY(VERSION 2.6) PROJECT(MANA) @@ -45,6 +46,7 @@ ELSE (WIN32) ENDIF (WIN32) ADD_SUBDIRECTORY(data) +ADD_SUBDIRECTORY(libs/enet) ADD_SUBDIRECTORY(src) IF (GETTEXT_FOUND AND ENABLE_NLS) 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 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6c470aef..38589505 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,6 @@ FIND_PACKAGE(SDL_mixer REQUIRED) FIND_PACKAGE(SDL_net REQUIRED) FIND_PACKAGE(SDL_ttf REQUIRED) FIND_PACKAGE(SDL_gfx REQUIRED) -FIND_PACKAGE(ENet REQUIRED) FIND_PACKAGE(CURL REQUIRED) FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(PhysFS REQUIRED) @@ -22,6 +21,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) + SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"") SET(FLAGS "${FLAGS} -DPKG_DATADIR=\\\"${PKG_DATADIR}/\\\"") SET(FLAGS "${FLAGS} -DLOCALEDIR=\\\"${LOCALEDIR}/\\\"") @@ -71,7 +77,6 @@ INCLUDE_DIRECTORIES( ${SDLNET_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR} ${SDLGFX_INCLUDE_DIR} - ${ENET_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${PHYSFS_INCLUDE_DIR} ${CURL_INCLUDE_DIR} @@ -623,13 +628,13 @@ SET (PROGRAMS mana) ADD_EXECUTABLE(mana WIN32 ${SRCS} ${SRCS_MANA} ${SRCS_TMWA}) TARGET_LINK_LIBRARIES(mana + ${INTERNAL_LIBRARIES} ${SDLGFX_LIBRARIES} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLNET_LIBRARY} ${SDLTTF_LIBRARY} - ${ENET_LIBRARIES} ${PNG_LIBRARIES} ${PHYSFS_LIBRARY} ${CURL_LIBRARIES} @@ -638,6 +643,7 @@ TARGET_LINK_LIBRARIES(mana ${OPENGL_LIBRARIES} ${LIBINTL_LIBRARIES} ${EXTRA_LIBRARIES}) + INSTALL(TARGETS mana RUNTIME DESTINATION ${PKG_BINDIR}) IF (CMAKE_SYSTEM_NAME STREQUAL SunOS) |