diff options
-rw-r--r-- | CMakeLists.txt | 5 | ||||
-rw-r--r-- | contrib/extractor/libmpq/mpq.h | 3 | ||||
-rw-r--r-- | dep/ACE_wrappers/ace/OS_NS_netdb.inl | 10 | ||||
-rw-r--r-- | src/bindings/scripts/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/framework/Platform/Define.h | 9 | ||||
-rw-r--r-- | src/trinitycore/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/trinityrealm/CMakeLists.txt | 14 |
7 files changed, 44 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d03b0ff681..27bbaa17674 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,11 @@ endif(ACE_FOUND) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) +IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET(OSX_LIBS -lcrypto) + add_definitions(-D__ASSERTMACROS__) +ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + add_definitions(--no-warnings) #to make build look nice, no gcc nazi warnings. diff --git a/contrib/extractor/libmpq/mpq.h b/contrib/extractor/libmpq/mpq.h index 008c7147aba..1ed19d5bc3f 100644 --- a/contrib/extractor/libmpq/mpq.h +++ b/contrib/extractor/libmpq/mpq.h @@ -36,6 +36,9 @@ #define PATH_MAX 260 #endif +#if defined(__APPLE_CC__) + #define lseek64 lseek +#endif #define LIBMPQ_MAJOR_VERSION 0 /* Major version number... maybe sometimes we reach version 1 :) */ #define LIBMPQ_MINOR_VERSION 3 /* Minor version number - increased only for small changes */ diff --git a/dep/ACE_wrappers/ace/OS_NS_netdb.inl b/dep/ACE_wrappers/ace/OS_NS_netdb.inl index f1d0009eef3..508831d4380 100644 --- a/dep/ACE_wrappers/ace/OS_NS_netdb.inl +++ b/dep/ACE_wrappers/ace/OS_NS_netdb.inl @@ -125,7 +125,7 @@ ACE_OS::gethostbyaddr_r (const char *addr, *h_errnop = h_errno; return (struct hostent *) 0; } -# elif defined (__GLIBC__) +# elif defined (__GLIBC__) || defined (__FreeBSD__) // GNU C library has a different signature ACE_OS::memset (buffer, 0, sizeof (ACE_HOSTENT_DATA)); @@ -318,7 +318,7 @@ ACE_OS::gethostbyname_r (const char *name, *h_errnop = h_errno; return (struct hostent *) 0; } -# elif defined (__GLIBC__) +# elif defined (__GLIBC__) || defined (__FreeBSD__) // GNU C library has a different signature ACE_OS::memset (buffer, 0, sizeof (ACE_HOSTENT_DATA)); @@ -528,7 +528,7 @@ ACE_OS::getprotobyname_r (const char *name, else return 0; //FUZZ: enable check_for_lack_ACE_OS -# elif defined (__GLIBC__) +# elif defined (__GLIBC__) || defined (__FreeBSD__) // GNU C library has a different signature //FUZZ: disable check_for_lack_ACE_OS if (::getprotobyname_r (name, @@ -609,7 +609,7 @@ ACE_OS::getprotobynumber_r (int proto, //FUZZ: enable check_for_lack_ACE_OS else return 0; -# elif defined (__GLIBC__) +# elif defined (__GLIBC__) || defined (__FreeBSD__) // GNU C library has a different signature //FUZZ: disable check_for_lack_ACE_OS if (::getprotobynumber_r (proto, @@ -695,7 +695,7 @@ ACE_OS::getservbyname_r (const char *svc, //FUZZ: enable check_for_lack_ACE_OS else return (struct servent *) 0; -# elif defined (__GLIBC__) +# elif defined (__GLIBC__) || defined (__FreeBSD__) // GNU C library has a different signature ACE_OS::memset (buf, 0, sizeof (ACE_SERVENT_DATA)); diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index d908064ca9b..39d7a556fa7 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -383,6 +383,10 @@ add_library(trinityscript SHARED ${trinityscript_LIB_SRCS}) add_definitions(-D_TRINITY_SCRIPT_CONFIG='"${CONF_DIR}/trinitycore.conf"') +IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET_TARGET_PROPERTIES(trinityscript PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress") +ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + target_link_libraries(trinityscript) set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4) diff --git a/src/framework/Platform/Define.h b/src/framework/Platform/Define.h index cf4fa3e0def..5e0cdfdd179 100644 --- a/src/framework/Platform/Define.h +++ b/src/framework/Platform/Define.h @@ -60,8 +60,13 @@ # else # define TRINITY_IMPORT __attribute__ ((cdecl)) # endif //__APPLE_CC__ && BIG_ENDIAN -# define TRINITY_SCRIPT_EXT ".so" -# define TRINITY_SCRIPT_NAME "libtrinityscript" +# if defined(__APPLE_CC__) +# define TRINITY_SCRIPT_EXT ".dylib" +# define TRINITY_SCRIPT_NAME "../lib/libtrinityscript" +# else +# define TRINITY_SCRIPT_EXT ".so" +# define TRINITY_SCRIPT_NAME "libtrinityscript" +# endif //__APPLE_CC__ # define TRINITY_PATH_MAX PATH_MAX #endif //PLATFORM diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt index 72ceca8dd33..2c7c4544577 100644 --- a/src/trinitycore/CMakeLists.txt +++ b/src/trinitycore/CMakeLists.txt @@ -13,15 +13,23 @@ WorldRunnable.cpp WorldRunnable.h ) +SET(trinity-core_LINK_FLAGS "") + add_executable(trinity-core ${trinity-core_SRCS}) add_definitions( -D_TRINITY_CORE_CONFIG='"${CONF_DIR}/trinitycore.conf"' ) IF (DO_MYSQL) - SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "-pthread") + SET(trinity-core_LINK_FLAGS "-pthread ${trinity-core_LINK_FLAGS}") ENDIF(DO_MYSQL) +IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET(trinity-core_LINK_FLAGS "-framework Carbon ${trinity-core_LINK_FLAGS}") + SET(SCRIPT_LIB "") +ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + +SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "${trinity-core_LINK_FLAGS}") target_link_libraries( trinity-core @@ -42,6 +50,7 @@ ${POSTGRE_LIBS} ${SSLLIB} ${ACE_LIBRARY} ${ZLIB} +${OSX_LIBS} ) install(TARGETS trinity-core DESTINATION bin) diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt index cddea04ea47..f883259bbf5 100644 --- a/src/trinityrealm/CMakeLists.txt +++ b/src/trinityrealm/CMakeLists.txt @@ -9,18 +9,24 @@ RealmList.cpp RealmList.h ) +SET(trinity-realm_LINK_FLAGS "") + add_executable(trinity-realm ${trinity-realm_SRCS}) add_definitions( -D_TRINITY_REALM_CONFIG='"${CONF_DIR}/trinityrealm.conf"' ) IF (DO_MYSQL) - #SET_TARGET_PROPERTIES(mangos-realmd PROPERTIES LINK_FLAGS ${MYSQL_LIBS}) - SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "-pthread") + SET(trinity-realm_LINK_FLAGS "-pthread ${trinity-realm_LINK_FLAGS}") ENDIF(DO_MYSQL) IF (DO_POSTGRE) - SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS}) + SET(trinity-realm_LINK_FLAGS "${POSTGRE_LIBS} ${trinity-realm_LINK_FLAGS}") ENDIF(DO_POSTGRE) +IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET(trinity-realm_LINK_FLAGS "-framework Carbon ${trinity-realm_LINK_FLAGS}") +ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") + +SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "${trinity-realm_LINK_FLAGS}") target_link_libraries( trinity-realm @@ -34,11 +40,11 @@ ZThread zlib ${SSLLIB} ${MYSQL_LIBRARIES} +${OSX_LIBS} ) install(TARGETS trinity-realm DESTINATION bin) - ########### install files ############### install(FILES trinityrealm.conf.dist DESTINATION etc) |