mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 10:55:43 +00:00
194 lines
7.1 KiB
CMake
194 lines
7.1 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.
|
|
|
|
# Enable precompiled headers when using the GCC compiler.
|
|
|
|
CU_RUN_HOOK(BEFORE_SCRIPTS_LIBRARY)
|
|
|
|
CU_SET_PATH("AC_SCRIPTS_DIR" "${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
if (USE_SCRIPTPCH)
|
|
set(scripts_STAT_PCH_HDR PrecompiledHeaders/ScriptPCH.h)
|
|
set(scripts_STAT_PCH_SRC PrecompiledHeaders/ScriptPCH.cpp)
|
|
endif ()
|
|
|
|
message(STATUS "SCRIPT PREPARATIONS")
|
|
include(Spells/CMakeLists.txt)
|
|
|
|
include(Commands/CMakeLists.txt)
|
|
|
|
set(scripts_STAT_SRCS
|
|
${scripts_STAT_SRCS}
|
|
ScriptLoader.cpp
|
|
ScriptLoader.h
|
|
${BUILDDIR}/GenLoader.cpp
|
|
../game/AI/ScriptedAI/ScriptedEscortAI.cpp
|
|
../game/AI/ScriptedAI/ScriptedCreature.cpp
|
|
../game/AI/ScriptedAI/ScriptedFollowerAI.cpp
|
|
)
|
|
|
|
AC_ADD_SCRIPT_LOADER("Spell" "ScriptLoader.h")
|
|
AC_ADD_SCRIPT_LOADER("SC_Smart" "ScriptLoader.h")
|
|
AC_ADD_SCRIPT_LOADER("Command" "ScriptLoader.h")
|
|
|
|
CU_SET_PATH("CMAKE_AC_MODULE_DIR" "${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
if(SCRIPTS)
|
|
include(World/CMakeLists.txt)
|
|
include(OutdoorPvP/CMakeLists.txt)
|
|
include(EasternKingdoms/CMakeLists.txt)
|
|
include(Kalimdor/CMakeLists.txt)
|
|
include(Outland/CMakeLists.txt)
|
|
include(Northrend/CMakeLists.txt)
|
|
include(Events/CMakeLists.txt)
|
|
include(Pet/CMakeLists.txt)
|
|
endif()
|
|
|
|
if(EXISTS "${AC_SCRIPTS_DIR}/Custom/CMakeLists.txt")
|
|
include(Custom/CMakeLists.txt)
|
|
endif()
|
|
|
|
CU_GET_GLOBAL("AC_ADD_SCRIPTS_LIST")
|
|
CU_GET_GLOBAL("AC_ADD_SCRIPTS_INCLUDE")
|
|
CU_GET_GLOBAL("AC_SCRIPTS_SOURCES")
|
|
|
|
set(scripts_STAT_SRCS
|
|
${scripts_STAT_SRCS}
|
|
${AC_SCRIPTS_SOURCES}
|
|
)
|
|
|
|
set("AC_SCRIPTS_INCLUDES" "")
|
|
|
|
FOREACH (include ${AC_ADD_SCRIPTS_INCLUDE})
|
|
set("AC_SCRIPTS_INCLUDES" "#include \"${include}\"\n${AC_SCRIPTS_INCLUDES}")
|
|
ENDFOREACH()
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/GenLoader.cpp.cmake ${BUILDDIR}/GenLoader.cpp)
|
|
|
|
message(STATUS "SCRIPT PREPARATION COMPLETE")
|
|
message("")
|
|
|
|
include_directories(
|
|
${scripts_INCLUDE_DIRS}
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/deps/recastnavigation/Detour/Include
|
|
${CMAKE_SOURCE_DIR}/deps/recastnavigation/Recast/Include
|
|
${CMAKE_SOURCE_DIR}/deps/g3dlite/include
|
|
${CMAKE_SOURCE_DIR}/deps/SFMT
|
|
${CMAKE_SOURCE_DIR}/deps/zlib
|
|
${CMAKE_SOURCE_DIR}/src/common
|
|
${CMAKE_SOURCE_DIR}/src/common/Configuration
|
|
${CMAKE_SOURCE_DIR}/src/common/Cryptography
|
|
${CMAKE_SOURCE_DIR}/src/common/Database
|
|
${CMAKE_SOURCE_DIR}/src/common/DataStores
|
|
${CMAKE_SOURCE_DIR}/src/common/Debugging
|
|
${CMAKE_SOURCE_DIR}/src/common/Dynamic/LinkedReference
|
|
${CMAKE_SOURCE_DIR}/src/common/Dynamic
|
|
${CMAKE_SOURCE_DIR}/src/common/Logging
|
|
${CMAKE_SOURCE_DIR}/src/common/Packets
|
|
${CMAKE_SOURCE_DIR}/src/common/Threading
|
|
${CMAKE_SOURCE_DIR}/src/common/Utilities
|
|
${CMAKE_SOURCE_DIR}/src/common/Collision/
|
|
${CMAKE_SOURCE_DIR}/src/common/Collision/Management
|
|
${CMAKE_SOURCE_DIR}/src/common/Collision/Models
|
|
${CMAKE_SOURCE_DIR}/src/common
|
|
${CMAKE_SOURCE_DIR}/src/common/Database
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Addons
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Accounts
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Achievements
|
|
${CMAKE_SOURCE_DIR}/src/server/game/AI
|
|
${CMAKE_SOURCE_DIR}/src/server/game/AI/CoreAI
|
|
${CMAKE_SOURCE_DIR}/src/server/game/AI/ScriptedAI
|
|
${CMAKE_SOURCE_DIR}/src/server/game/AI/SmartScripts
|
|
${CMAKE_SOURCE_DIR}/src/server/game/AuctionHouse
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Battlefield
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Battlefield/Zones
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Battlegrounds
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Battlegrounds/Zones
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Calendar
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Chat
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Chat/Channels
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Conditions
|
|
${CMAKE_SOURCE_DIR}/src/common/Configuration
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Combat
|
|
${CMAKE_SOURCE_DIR}/src/server/game/DataStores
|
|
${CMAKE_SOURCE_DIR}/src/server/game/DungeonFinding
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Corpse
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Creature
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/DynamicObject
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Item
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Item/Container
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/GameObject
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object/Updates
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Pet
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Player
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Totem
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Transport
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Unit
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Vehicle
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Events
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Globals
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Grids
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Grids/Cells
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Grids/Notifiers
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Groups
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Guilds
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Handlers
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Instances
|
|
${CMAKE_SOURCE_DIR}/src/server/game/LookingForGroup
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Loot
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Mails
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Miscellaneous
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Maps
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Movement
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Movement/MovementGenerators
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Movement/Spline
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Movement/Waypoints
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Opcodes
|
|
${CMAKE_SOURCE_DIR}/src/server/game/OutdoorPvP
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Petitions
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Pools
|
|
${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Quests
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Reputation
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Scripting
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Server
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Server/Protocol
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Skills
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Spells
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Spells/Auras
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Texts
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Tickets
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Tools
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Warden
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Warden/Modules
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Weather
|
|
${CMAKE_SOURCE_DIR}/src/server/game/World
|
|
${CMAKE_SOURCE_DIR}/src/server/game/ArenaSpectator
|
|
${CMAKE_SOURCE_DIR}/src/server/game/Misc
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders
|
|
${ACE_INCLUDE_DIR}
|
|
${MYSQL_INCLUDE_DIR}
|
|
)
|
|
|
|
add_library(scripts STATIC
|
|
${scripts_STAT_SRCS}
|
|
${scripts_STAT_PCH_SRC}
|
|
)
|
|
|
|
add_dependencies(scripts revision.h)
|
|
|
|
# Generate precompiled header
|
|
if (USE_SCRIPTPCH)
|
|
add_cxx_pch(scripts ${scripts_STAT_PCH_HDR} ${scripts_STAT_PCH_SRC})
|
|
endif()
|