Allow the compilation of Trinity on MacOS X diff -r 983f37e556a3 CMakeLists.txt --- a/CMakeLists.txt Wed Feb 04 20:50:26 2009 -0600 +++ b/CMakeLists.txt Fri Feb 06 13:56:16 2009 +0100 @@ -136,6 +136,11 @@ 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 -r 983f37e556a3 contrib/extractor/libmpq/mpq.h --- a/contrib/extractor/libmpq/mpq.h Wed Feb 04 20:50:26 2009 -0600 +++ b/contrib/extractor/libmpq/mpq.h Fri Feb 06 13:56:16 2009 +0100 @@ -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 -r 983f37e556a3 src/bindings/scripts/CMakeLists.txt --- a/src/bindings/scripts/CMakeLists.txt Wed Feb 04 20:50:26 2009 -0600 +++ b/src/bindings/scripts/CMakeLists.txt Fri Feb 06 13:56:16 2009 +0100 @@ -382,6 +382,10 @@ 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 -r 983f37e556a3 src/framework/Platform/Define.h --- a/src/framework/Platform/Define.h Wed Feb 04 20:50:26 2009 -0600 +++ b/src/framework/Platform/Define.h Fri Feb 06 13:56:16 2009 +0100 @@ -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 -r 983f37e556a3 src/trinitycore/CMakeLists.txt --- a/src/trinitycore/CMakeLists.txt Wed Feb 04 20:50:26 2009 -0600 +++ b/src/trinitycore/CMakeLists.txt Fri Feb 06 13:56:16 2009 +0100 @@ -13,15 +13,23 @@ 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 @@ ${SSLLIB} ${ACE_LIBRARY} ${ZLIB} +${OSX_LIBS} ) install(TARGETS trinity-core DESTINATION bin) diff -r 983f37e556a3 src/trinityrealm/CMakeLists.txt --- a/src/trinityrealm/CMakeLists.txt Wed Feb 04 20:50:26 2009 -0600 +++ b/src/trinityrealm/CMakeLists.txt Fri Feb 06 13:56:16 2009 +0100 @@ -9,18 +9,24 @@ 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 @@ zlib ${SSLLIB} ${MYSQL_LIBRARIES} +${OSX_LIBS} ) install(TARGETS trinity-realm DESTINATION bin) - ########### install files ############### install(FILES trinityrealm.conf.dist DESTINATION etc)