Files
azerothcore-wotlk/src/scripts/CMakeLists.txt
2017-03-26 01:09:44 +01:00

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()