mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 10:30:27 +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 "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}/modules/worldengine/deps/recastnavigation/Detour
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/deps/recastnavigation/Recast
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/deps/g3dlite/include
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/deps/SFMT
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/deps/zlib
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Configuration
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Cryptography
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Database
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/DataStores
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Debugging
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Dynamic/LinkedReference
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Dynamic
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Logging
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Packets
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Threading
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Utilities
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/lib-collision/src/
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/lib-collision/src/Management
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/lib-collision/src/Models
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Database
|
|
${CMAKE_SOURCE_DIR}/modules/acore/game-framework/src/Addons
|
|
${CMAKE_SOURCE_DIR}/src/game/Accounts
|
|
${CMAKE_SOURCE_DIR}/src/game/Achievements
|
|
${CMAKE_SOURCE_DIR}/src/game/AI
|
|
${CMAKE_SOURCE_DIR}/src/game/AI/CoreAI
|
|
${CMAKE_SOURCE_DIR}/src/game/AI/ScriptedAI
|
|
${CMAKE_SOURCE_DIR}/src/game/AI/SmartScripts
|
|
${CMAKE_SOURCE_DIR}/src/game/AuctionHouse
|
|
${CMAKE_SOURCE_DIR}/src/game/Battlefield
|
|
${CMAKE_SOURCE_DIR}/src/game/Battlefield/Zones
|
|
${CMAKE_SOURCE_DIR}/src/game/Battlegrounds
|
|
${CMAKE_SOURCE_DIR}/src/game/Battlegrounds/Zones
|
|
${CMAKE_SOURCE_DIR}/src/game/Calendar
|
|
${CMAKE_SOURCE_DIR}/src/game/Chat
|
|
${CMAKE_SOURCE_DIR}/src/game/Chat/Channels
|
|
${CMAKE_SOURCE_DIR}/src/game/Conditions
|
|
${CMAKE_SOURCE_DIR}/modules/worldengine/nucleus/src/Configuration
|
|
${CMAKE_SOURCE_DIR}/src/game/Combat
|
|
${CMAKE_SOURCE_DIR}/src/game/DataStores
|
|
${CMAKE_SOURCE_DIR}/src/game/DungeonFinding
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Corpse
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Creature
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/DynamicObject
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Item
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Item/Container
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/GameObject
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Object
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Object/Updates
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Pet
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Player
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Totem
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Transport
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Unit
|
|
${CMAKE_SOURCE_DIR}/src/game/Entities/Vehicle
|
|
${CMAKE_SOURCE_DIR}/src/game/Events
|
|
${CMAKE_SOURCE_DIR}/src/game/Globals
|
|
${CMAKE_SOURCE_DIR}/src/game/Grids
|
|
${CMAKE_SOURCE_DIR}/src/game/Grids/Cells
|
|
${CMAKE_SOURCE_DIR}/src/game/Grids/Notifiers
|
|
${CMAKE_SOURCE_DIR}/src/game/Groups
|
|
${CMAKE_SOURCE_DIR}/src/game/Guilds
|
|
${CMAKE_SOURCE_DIR}/src/game/Handlers
|
|
${CMAKE_SOURCE_DIR}/src/game/Instances
|
|
${CMAKE_SOURCE_DIR}/src/game/LookingForGroup
|
|
${CMAKE_SOURCE_DIR}/src/game/Loot
|
|
${CMAKE_SOURCE_DIR}/src/game/Mails
|
|
${CMAKE_SOURCE_DIR}/src/game/Miscellaneous
|
|
${CMAKE_SOURCE_DIR}/src/game/Maps
|
|
${CMAKE_SOURCE_DIR}/src/game/Movement
|
|
${CMAKE_SOURCE_DIR}/src/game/Movement/MovementGenerators
|
|
${CMAKE_SOURCE_DIR}/src/game/Movement/Spline
|
|
${CMAKE_SOURCE_DIR}/src/game/Movement/Waypoints
|
|
${CMAKE_SOURCE_DIR}/src/game/Opcodes
|
|
${CMAKE_SOURCE_DIR}/src/game/OutdoorPvP
|
|
${CMAKE_SOURCE_DIR}/src/game/Petitions
|
|
${CMAKE_SOURCE_DIR}/src/game/Pools
|
|
${CMAKE_SOURCE_DIR}/src/game/PrecompiledHeaders
|
|
${CMAKE_SOURCE_DIR}/src/game/Quests
|
|
${CMAKE_SOURCE_DIR}/src/game/Reputation
|
|
${CMAKE_SOURCE_DIR}/src/game/Scripting
|
|
${CMAKE_SOURCE_DIR}/src/game/Server
|
|
${CMAKE_SOURCE_DIR}/src/game/Server/Protocol
|
|
${CMAKE_SOURCE_DIR}/src/game/Skills
|
|
${CMAKE_SOURCE_DIR}/src/game/Spells
|
|
${CMAKE_SOURCE_DIR}/src/game/Spells/Auras
|
|
${CMAKE_SOURCE_DIR}/src/game/Texts
|
|
${CMAKE_SOURCE_DIR}/src/game/Tickets
|
|
${CMAKE_SOURCE_DIR}/src/game/Tools
|
|
${CMAKE_SOURCE_DIR}/src/game/Warden
|
|
${CMAKE_SOURCE_DIR}/src/game/Warden/Modules
|
|
${CMAKE_SOURCE_DIR}/src/game/Weather
|
|
${CMAKE_SOURCE_DIR}/src/game/World
|
|
${CMAKE_SOURCE_DIR}/src/game/ArenaSpectator
|
|
${CMAKE_SOURCE_DIR}/src/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()
|