mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
233 lines
8.6 KiB
CMake
233 lines
8.6 KiB
CMake
# Copyright (C)
|
|
#
|
|
# 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.
|
|
|
|
CU_RUN_HOOK(BEFORE_GAME_LIBRARY)
|
|
|
|
file(GLOB_RECURSE sources_Accounts Accounts/*.cpp Accounts/*.h)
|
|
file(GLOB_RECURSE sources_Achievements Achievements/*.cpp Achievements/*.h)
|
|
file(GLOB_RECURSE sources_Addons Addons/*.cpp Addons/*.h)
|
|
file(GLOB_RECURSE sources_AI AI/*.cpp AI/*.h)
|
|
file(GLOB_RECURSE sources_AuctionHouse AuctionHouse/*.cpp AuctionHouse/*.h)
|
|
file(GLOB_RECURSE sources_Battlefield Battlefield/*.cpp Battlefield/*.h)
|
|
file(GLOB_RECURSE sources_Battlegrounds Battlegrounds/*.cpp Battlegrounds/*.h)
|
|
file(GLOB_RECURSE sources_Calendar Calendar/*.cpp Calendar/*.h)
|
|
file(GLOB_RECURSE sources_Chat Chat/*.cpp Chat/*.h)
|
|
file(GLOB_RECURSE sources_Combat Combat/*.cpp Combat/*.h)
|
|
file(GLOB_RECURSE sources_Conditions Conditions/*.cpp Conditions/*.h)
|
|
file(GLOB_RECURSE sources_DataStores DataStores/*.cpp DataStores/*.h)
|
|
file(GLOB_RECURSE sources_DungeonFinding DungeonFinding/*.cpp DungeonFinding/*.h)
|
|
file(GLOB_RECURSE sources_Entities Entities/*.cpp Entities/*.h)
|
|
file(GLOB_RECURSE sources_Events Events/*.cpp Events/*.h)
|
|
file(GLOB_RECURSE sources_Globals Globals/*.cpp Globals/*.h)
|
|
file(GLOB_RECURSE sources_Grids Grids/*.cpp Grids/*.h)
|
|
file(GLOB_RECURSE sources_Groups Groups/*.cpp Groups/*.h)
|
|
file(GLOB_RECURSE sources_Guilds Guilds/*.cpp Guilds/*.h)
|
|
file(GLOB_RECURSE sources_Handlers Handlers/*.cpp Handlers/*.h)
|
|
file(GLOB_RECURSE sources_Instances Instances/*.cpp Instances/*.h)
|
|
file(GLOB_RECURSE sources_Loot Loot/*.cpp Loot/*.h)
|
|
file(GLOB_RECURSE sources_Mails Mails/*.cpp Mails/*.h)
|
|
file(GLOB_RECURSE sources_Maps Maps/*.cpp Maps/*.h)
|
|
file(GLOB_RECURSE sources_Miscellaneous Miscellaneous/*.cpp Miscellaneous/*.h)
|
|
file(GLOB_RECURSE sources_Movement Movement/*.cpp Movement/*.h)
|
|
file(GLOB_RECURSE sources_OutdoorPvP OutdoorPvP/*.cpp OutdoorPvP/*.h)
|
|
file(GLOB_RECURSE sources_Petitions Petitions/*.cpp Petitions/*.h)
|
|
file(GLOB_RECURSE sources_Pools Pools/*.cpp Pools/*.h)
|
|
file(GLOB_RECURSE sources_Quests Quests/*.cpp Quests/*.h)
|
|
file(GLOB_RECURSE sources_Reputation Reputation/*.cpp Reputation/*.h)
|
|
file(GLOB_RECURSE sources_Scripting Scripting/*.cpp Scripting/*.h)
|
|
file(GLOB_RECURSE sources_Server Server/*.cpp Server/*.h)
|
|
file(GLOB_RECURSE sources_Skills Skills/*.cpp Skills/*.h)
|
|
file(GLOB_RECURSE sources_Spells Spells/*.cpp Spells/*.h)
|
|
file(GLOB_RECURSE sources_Texts Texts/*.cpp Texts/*.h)
|
|
file(GLOB_RECURSE sources_Tools Tools/*.cpp Tools/*.h)
|
|
file(GLOB_RECURSE sources_Tickets Tickets/*.cpp Tickets/*.h)
|
|
file(GLOB_RECURSE sources_Warden Warden/*.cpp Warden/*.h)
|
|
file(GLOB_RECURSE sources_Weather Weather/*.cpp Weather/*.h)
|
|
file(GLOB_RECURSE sources_World World/*.cpp World/*.h)
|
|
file(GLOB_RECURSE sources_ArenaSpectator ArenaSpectator/*.cpp ArenaSpectator/*.h)
|
|
file(GLOB_RECURSE sources_Misc Misc/*.cpp Misc/*.h)
|
|
|
|
# Create game-libary
|
|
|
|
if (USE_COREPCH)
|
|
set(game_STAT_PCH_HDR PrecompiledHeaders/gamePCH.h)
|
|
set(game_STAT_PCH_SRC PrecompiledHeaders/gamePCH.cpp)
|
|
endif ()
|
|
|
|
set(game_STAT_SRCS
|
|
${game_STAT_SRCS}
|
|
${sources_Accounts}
|
|
${sources_Achievements}
|
|
${sources_Addons}
|
|
${sources_AI}
|
|
${sources_AuctionHouse}
|
|
${sources_Battlefield}
|
|
${sources_Battlegrounds}
|
|
${sources_Calendar}
|
|
${sources_Chat}
|
|
${sources_Combat}
|
|
${sources_Conditions}
|
|
${sources_DataStores}
|
|
${sources_DungeonFinding}
|
|
${sources_Entities}
|
|
${sources_Events}
|
|
${sources_Globals}
|
|
${sources_Grids}
|
|
${sources_Groups}
|
|
${sources_Guilds}
|
|
${sources_Handlers}
|
|
${sources_Instances}
|
|
${sources_Loot}
|
|
${sources_Mails}
|
|
${sources_Maps}
|
|
${sources_Miscellaneous}
|
|
${sources_Movement}
|
|
${sources_OutdoorPvP}
|
|
${sources_Petitions}
|
|
${sources_Pools}
|
|
${sources_Quests}
|
|
${sources_Reputation}
|
|
${sources_Scripting}
|
|
${sources_Server}
|
|
${sources_Skills}
|
|
${sources_Spells}
|
|
${sources_Texts}
|
|
${sources_Tools}
|
|
${sources_Tickets}
|
|
${sources_Warden}
|
|
${sources_Weather}
|
|
${sources_World}
|
|
${sources_ArenaSpectator}
|
|
${sources_Misc}
|
|
)
|
|
|
|
include_directories(
|
|
${game_INCLUDE_DIRS}
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/deps/recastnavigation/Detour
|
|
${CMAKE_SOURCE_DIR}/deps/recastnavigation/Recast
|
|
${CMAKE_SOURCE_DIR}/deps/g3dlite/include
|
|
${CMAKE_SOURCE_DIR}/deps/SFMT
|
|
${CMAKE_SOURCE_DIR}/deps/zlib
|
|
${CMAKE_SOURCE_DIR}/src/libraries/collision/
|
|
${CMAKE_SOURCE_DIR}/src/libraries/collision/Management
|
|
${CMAKE_SOURCE_DIR}/src/libraries/collision/Models
|
|
${CMAKE_SOURCE_DIR}/src/libraries/collision/Maps
|
|
${CMAKE_SOURCE_DIR}/src/core
|
|
${CMAKE_SOURCE_DIR}/src/core/Configuration
|
|
${CMAKE_SOURCE_DIR}/src/core/Cryptography
|
|
${CMAKE_SOURCE_DIR}/src/core/Cryptography/Authentication
|
|
${CMAKE_SOURCE_DIR}/src/core/Database
|
|
${CMAKE_SOURCE_DIR}/src/core/DataStores
|
|
${CMAKE_SOURCE_DIR}/src/core/Debugging
|
|
${CMAKE_SOURCE_DIR}/src/core/Dynamic/LinkedReference
|
|
${CMAKE_SOURCE_DIR}/src/core/Dynamic
|
|
${CMAKE_SOURCE_DIR}/src/core/Logging
|
|
${CMAKE_SOURCE_DIR}/src/core/Packets
|
|
${CMAKE_SOURCE_DIR}/src/core/Threading
|
|
${CMAKE_SOURCE_DIR}/src/core/Utilities
|
|
${CMAKE_SOURCE_DIR}/src/framework/Addons
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Accounts
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Achievements
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AI
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AI/CoreAI
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AI/ScriptedAI
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AI/SmartScripts
|
|
${CMAKE_CURRENT_SOURCE_DIR}/AuctionHouse
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Battlefield
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Battlefield/Zones
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Battlegrounds
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Battlegrounds/Zones
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Calendar
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Chat
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Chat/Channels
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Combat
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Conditions
|
|
${CMAKE_CURRENT_SOURCE_DIR}/DataStores
|
|
${CMAKE_CURRENT_SOURCE_DIR}/DungeonFinding
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Creature
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Corpse
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/DynamicObject
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/GameObject
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Item
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Item/Container
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Object
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Object/Updates
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Pet
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Player
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Totem
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Unit
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Vehicle
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Entities/Transport
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Events
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Globals
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Grids/Cells
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Grids/Notifiers
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Grids
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Groups
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Guilds
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Handlers
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Instances
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Loot
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Mails
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Maps
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Miscellaneous
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Movement
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Movement/Spline
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Movement/MovementGenerators
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Movement/Waypoints
|
|
${CMAKE_CURRENT_SOURCE_DIR}/OutdoorPvP
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Petitions
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Pools
|
|
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Quests
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Reputation
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Scripting
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Server/Protocol
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Server
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Skills
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Spells
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Spells/Auras
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Texts
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Tools
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Tickets
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Warden
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Warden/Modules
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Weather
|
|
${CMAKE_CURRENT_SOURCE_DIR}/World
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ArenaSpectator
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Misc
|
|
${CMAKE_SOURCE_DIR}/src/scripts/
|
|
${CMAKE_SOURCE_DIR}/src/scripts/PrecompiledHeaders
|
|
${ACE_INCLUDE_DIR}
|
|
${MYSQL_INCLUDE_DIR}
|
|
${OPENSSL_INCLUDE_DIR}
|
|
)
|
|
|
|
add_library(game STATIC
|
|
${game_STAT_SRCS}
|
|
${game_STAT_PCH_SRC}
|
|
)
|
|
|
|
target_link_libraries(game
|
|
gamefw
|
|
)
|
|
|
|
add_dependencies(game revision.h)
|
|
|
|
# Generate precompiled header
|
|
if (USE_COREPCH)
|
|
add_cxx_pch(game ${game_STAT_PCH_HDR} ${game_STAT_PCH_SRC})
|
|
endif ()
|
|
|
|
CU_RUN_HOOK(AFTER_GAME_LIBRARY)
|