Add more CMake-related support for building g3dlib, zlib, bzip2, ace on Windows

--HG--
branch : trunk
This commit is contained in:
click
2010-06-21 07:17:26 +02:00
parent 1ff96c9846
commit 1c96f52568
19 changed files with 717 additions and 539 deletions
+23 -5
View File
@@ -1,8 +1,26 @@
#add_subdirectory(ace)
#add_subdirectory(libmpq)
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
if(NOT MACOSX)
add_subdirectory(jemalloc)
endif()
if(NOT UNIX)
add_subdirectory(ace)
add_subdirectory(zlib)
add_subdirectory(bzip2)
endif()
add_subdirectory(zlib)
add_subdirectory(bzip2)
add_subdirectory(g3dlite)
add_subdirectory(jemalloc)
add_subdirectory(sockets)
# temporary disable libmpq building (through CMake at least) for now
# - needs a proper CMakeLists.txt
#add_subdirectory(libmpq)
+24
View File
@@ -0,0 +1,24 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.cpp)
set(ace_STAT_SRCS
${sources}
)
include_directories(
${CMAKE_SOURCE_DIR}/externals
${CMAKE_SOURCE_DIR}/externals/zlib
)
add_definitions(-DACE_BUILD_DLL)
add_library(ace STATIC ${ace_STAT_SRCS})
+12
View File
@@ -1,9 +1,21 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.c)
set(bzip2_STAT_SRCS
${sources}
)
include_directories(
${CMAKE_SOURCE_DIR}/externals/zlib
${CMAKE_CURRENT_SOURCE_DIR}
)
+29 -4
View File
@@ -1,12 +1,37 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.cpp)
SET(g3dlib_STAT_SRCS
set(g3dlib_STAT_SRCS
${sources}
)
if(WIN32)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/externals/zlib
)
include_directories(
else()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
add_library(g3dlib STATIC ${g3dlib_STAT_SRCS})
target_link_libraries(g3dlib zlib)
if(WIN32)
target_link_libraries(g3dlib
zlib
)
else()
target_link_libraries(g3dlib
${ZLIB_LIBRARIES}
)
endif()
+10
View File
@@ -1,5 +1,15 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.c)
set(jemalloc_STAT_SRC
${sources}
)
+11
View File
@@ -1,4 +1,15 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.cpp)
set(trinitysockets_STAT_SRCS
${sources}
)
+10
View File
@@ -1,3 +1,13 @@
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.c)
file(GLOB headers *.h)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
+8 -7
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -14,16 +14,17 @@ if(DO_WORLDSERVER)
add_subdirectory(collision)
if(DO_SCRIPTS)
add_subdirectory(scripts)
endif(DO_SCRIPTS)
endif()
add_subdirectory(worldserver)
else(DO_WORLDSERVER)
else()
if(DO_TOOLS)
add_subdirectory(collision)
endif(DO_TOOLS)
endif(DO_WORLDSERVER)
endif()
endif()
if (DO_AUTHSERVER)
if(NOT DO_WORLDSERVER)
add_subdirectory(shared)
endif(NOT DO_WORLDSERVER)
endif()
add_subdirectory(authserver)
endif(DO_AUTHSERVER)
endif()
+13 -13
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -10,7 +10,7 @@
########### authserver ###############
SET(authserver_SRCS
set(authserver_SRCS
Authentication/AuthCodes.cpp
Authentication/AuthCodes.h
Realms/RealmList.cpp
@@ -41,20 +41,21 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/authserver/Server
)
SET(authserver_LINK_FLAGS "")
set(authserver_LINK_FLAGS "")
add_executable(authserver ${authserver_SRCS})
add_definitions(
-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"'
add_executable(authserver
${authserver_SRCS}
)
SET(trinity-realm_LINK_FLAGS "-pthread ${authserver_LINK_FLAGS}")
add_definitions(-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"')
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
SET(authserver_LINK_FLAGS "-framework Carbon ${authserver_LINK_FLAGS}")
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(authserver_LINK_FLAGS "-pthread ${authserver_LINK_FLAGS}")
SET_TARGET_PROPERTIES(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}")
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(authserver_LINK_FLAGS "-framework Carbon ${authserver_LINK_FLAGS}")
endif()
set_target_properties(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}")
target_link_libraries(
authserver
@@ -67,8 +68,7 @@ target_link_libraries(
${OSX_LIBS}
)
install(TARGETS authserver DESTINATION bin)
########### install files ###############
install(TARGETS authserver DESTINATION bin)
install(FILES authserver.conf.dist DESTINATION etc)
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -10,7 +10,7 @@
########### collision ###############
SET(collision_STAT_SRCS
set(collision_STAT_SRCS
BoundingIntervalHierarchy.h
BoundingIntervalHierarchy.cpp
Maps/MapTree.cpp
+14 -13
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -11,11 +11,12 @@
######## game ########
# Enable precompiled headers when using the GCC compiler.
IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
endif()
SET(game_STAT_SRCS
# Create game-libary
set(game_STAT_SRCS
Accounts/AccountMgr.cpp
Accounts/AccountMgr.h
Achievements/AchievementMgr.h
@@ -420,7 +421,7 @@ include_directories(
)
if(NOT DO_SCRIPTS)
SET(game_STAT_SRCS ${game_STAT_SRCS}
set(game_STAT_SRCS ${game_STAT_SRCS}
AI/ScriptedAI/ScriptedEscortAI.cpp
AI/ScriptedAI/ScriptedEscortAI.h
AI/ScriptedAI/ScriptedCreature.cpp
@@ -434,14 +435,14 @@ if(NOT DO_SCRIPTS)
AI/ScriptedAI/ScriptedSimpleAI.cpp
AI/ScriptedAI/ScriptedSimpleAI.h
)
message("-- Added Script Engine to GAME lib")
endif(NOT DO_SCRIPTS)
message("-- Added basic scriptAI-engines to GAME library")
endif()
add_library(game STATIC ${game_STAT_SRCS})
ADD_DEPENDENCIES(game revision.h)
add_dependencies(game revision.h)
# Generate precompiled header
IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
ADD_PRECOMPILED_HEADER(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/NixCorePCH.h)
ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
add_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/NixCorePCH.h)
endif()
+13 -11
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -8,7 +8,6 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
####### scripts ########
file(GLOB_RECURSE scripts_easternkingdoms EasternKingdoms/*.cpp)
file(GLOB_RECURSE scripts_kalimdor Kalimdor/*.cpp)
file(GLOB_RECURSE scripts_northrend Northrend/*.cpp)
@@ -17,11 +16,13 @@ file(GLOB_RECURSE scripts_world World/*.cpp)
file(GLOB_RECURSE scripts_examples Examples/*.cpp)
# Enable precompiled headers when using the GCC compiler.
IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
endif()
SET(scripts_STAT_SRCS
set(scripts_STAT_SRCS
../game/PrecompiledHeaders/ScriptPCH.cpp
../game/PrecompiledHeaders/ScriptPCH.h
../game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -44,7 +45,7 @@ SET(scripts_STAT_SRCS
${scripts_world}
${scripts_examples}
)
message("-- Added Script Engine to SCRIPTS lib")
message("-- Added Scriptengine to SCRIPTS lib")
include_directories(
${ACE_INCLUDE_DIR}
@@ -134,7 +135,8 @@ include_directories(
add_library(scripts STATIC ${scripts_STAT_SRCS})
# Generate precompiled header
IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
ADD_PRECOMPILED_HEADER(scripts ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h)
ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
add_precompiled_header(scripts
${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h
)
endif()
+9 -9
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -10,7 +10,7 @@
########### shared ###############
SET(shared_STAT_SRCS
set(shared_STAT_SRCS
Debugging/Errors.h
Logging/Log.cpp
Logging/Log.h
@@ -56,15 +56,15 @@ include_directories(
)
add_library(shared STATIC ${shared_STAT_SRCS})
target_link_libraries(
shared
${ACE_LIBRARY}
)
target_link_libraries(
shared
${ACE_LIBRARY}
)
########### trinityconfig ###############
SET(trinityconfig_STAT_SRCS
set(trinityconfig_STAT_SRCS
Configuration/dotconfpp/dotconfpp.cpp
Configuration/dotconfpp/dotconfpp.h
Configuration/dotconfpp/mempool.cpp
@@ -84,7 +84,7 @@ add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS})
########### trinityauth ###############
SET(trinityauth_STAT_SRCS
set(trinityauth_STAT_SRCS
Cryptography/Authentication/AuthCrypt.cpp
Cryptography/Authentication/AuthCrypt.h
Cryptography/BigNumber.cpp
@@ -110,7 +110,7 @@ add_library(trinityauth STATIC ${trinityauth_STAT_SRCS})
########### trinitydatabase ###############
SET(trinitydatabase_STAT_SRCS
set(trinitydatabase_STAT_SRCS
DataStores/DBCFileLoader.cpp
DataStores/DBCFileLoader.h
DataStores/DBCStore.h
+36 -18
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -10,7 +10,7 @@
########### worldserver ###############
SET(worldserver_SRCS
set(worldserver_SRCS
CommandLine/CliRunnable.cpp
CommandLine/CliRunnable.h
RemoteAccess/RASocket.cpp
@@ -119,29 +119,31 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/worldserver/WorldThread
)
SET(worldserver_LINK_FLAGS "")
set(worldserver_LINK_FLAGS "")
add_executable(worldserver ${worldserver_SRCS})
add_definitions(
-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/worldserver.conf"'
)
SET(worldserver_LINK_FLAGS "-pthread ${worldserver_LINK_FLAGS}")
set(worldserver_LINK_FLAGS
"-pthread ${worldserver_LINK_FLAGS}"
)
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
SET(worldserver_LINK_FLAGS "-framework Carbon ${worldserver_LINK_FLAGS}")
SET(SCRIPT_LIB "")
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(worldserver_LINK_FLAGS "-framework Carbon ${worldserver_LINK_FLAGS}")
set(SCRIPT_LIB "")
endif()
SET_TARGET_PROPERTIES(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAGS}")
set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAGS}")
if(DO_SCRIPTS)
SET(SCRIPT_LIB "scripts")
set(SCRIPT_LIB "scripts")
else(DO_SCRIPTS)
SET(SCRIPT_LIB "")
set(SCRIPT_LIB "")
endif(DO_SCRIPTS)
target_link_libraries(
if(WIN32)
target_link_libraries(
worldserver
game
shared
@@ -154,18 +156,34 @@ target_link_libraries(
g3dlib
jemalloc
${SCRIPT_LIB}
${ACE_LIBRARY}
${MYSQL_LIBRARY}
${OPENSSL_LIBRARIES}
)
else()
target_link_libraries(
worldserver
game
shared
trinitysockets
trinitydatabase
trinityauth
trinityconfig
collision
g3dlib
jemalloc
${SCRIPT_LIB}
${READLINE_LIBRARY}
${TERMCAP_LIBRARY}
${ACE_LIBRARY}
${MYSQL_LIBRARY}
${OPENSSL_LIBRARIES}
${ZLIB}
${ZLIB_LIBRARIES}
${OSX_LIBS}
)
install(TARGETS worldserver DESTINATION bin)
)
endif()
########### install files ###############
install(TARGETS worldserver DESTINATION bin)
install(FILES worldserver.conf.dist DESTINATION etc)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
+20 -4
View File
@@ -1,5 +1,5 @@
# Copyright (C) 2005-2009 MaNGOS project <http://getmangos.com/>
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -28,7 +28,15 @@ add_library(loadlib
${loadlib_sources}
)
target_link_libraries(loadlib zlib)
if(NOT UNIX)
target_link_libraries(loadlib
zlib
)
else()
target_link_libraries(loadlib
${ZLIB_LIBRARIES}
)
endif()
add_library(libmpq
${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/common.c
@@ -43,10 +51,18 @@ add_executable(mapextractor
${sources}
)
target_link_libraries(mapextractor
if(WIN32)
target_link_libraries(mapextractor
libmpq
loadlib
bzip2
)
)
else()
target_link_libraries(mapextractor
libmpq
loadlib
${BZIP2_LIBRARIES}
)
endif()
install(TARGETS mapextractor DESTINATION bin)
+18 -3
View File
@@ -1,5 +1,5 @@
# Copyright (C) 2005-2009 MaNGOS project <http://getmangos.com/>
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -10,16 +10,31 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
include_directories(
${ACE_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
${CMAKE_SOURCE_DIR}/externals/g3dlite
${CMAKE_SOURCE_DIR}/src/server/shared
${CMAKE_SOURCE_DIR}/src/server/shared/Debugging
${CMAKE_SOURCE_DIR}/src/server/collision/Maps
${CMAKE_SOURCE_DIR}/src/server/collision/Models
${ACE_INCLUDE_DIR}
)
add_definitions(-DNO_CORE_FUNCS)
add_executable(vmap3assembler VMapAssembler.cpp)
target_link_libraries(vmap3assembler collision g3dlib)
if(WIN32)
target_link_libraries(vmap3assembler
collision
g3dlib
zlib
)
else()
target_link_libraries(vmap3assembler
collision
g3dlib
${ZLIB_LIBRARIES}
)
endif()
install(TARGETS vmap3assembler DESTINATION bin)
+18 -3
View File
@@ -1,5 +1,5 @@
# Copyright (C) 2005-2009 MaNGOS project <http://getmangos.com/>
# Copyright (C) 2005-2010 Trinity <http://www.trinitycore.org/>
# Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -9,9 +9,24 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
file(GLOB sources *.cpp)
include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq)
add_executable(vmap3extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp)
target_link_libraries(vmap3extractor libmpq bzip2 zlib)
add_executable(vmap3extractor ${sources})
if(WIN32)
target_link_libraries(vmap3extractor
libmpq
bzip2
zlib
)
else()
target_link_libraries(vmap3extractor
libmpq
${BZIP2_LIBRARIES}
${ZLIB_LIBRARIES}
)
endif()
install(TARGETS vmap3extractor DESTINATION bin)