mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Scripts: Split script subdirectories into independent modules
* Makes it possible to define the linkage for every module
* Move the ScriptPCH into the root directory
* Changes the SCRIPTS cmake variable to a string type:
-> -DSCRIPTS=0 is -DSCRIPTS="minimal-static" now
(builds commands and spells statically)
-> -DSCRIPTS=1 is -DSCRIPTS="static" now
(builds all modules statically)
-> -DSCRIPTS="dynamic"
(builds all modules dynamically)
-> Also the default value which is provided by the SCRIPTS
variable is overwriteable through the SCRIPTS_COMMANDS,
SCRIPTS_SPELLS... variable.
This commit is contained in:
64
src/server/scripts/ScriptLoader.cpp.in.cmake
Normal file
64
src/server/scripts/ScriptLoader.cpp.in.cmake
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// This file was created automatically from your script configuration!
|
||||
// Use CMake to reconfigure this file, never change it on your own!
|
||||
|
||||
#cmakedefine TRINITY_IS_DYNAMIC_SCRIPTLOADER
|
||||
|
||||
#include "Define.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
@TRINITY_SCRIPTS_FORWARD_DECL@
|
||||
#ifdef TRINITY_IS_DYNAMIC_SCRIPTLOADER
|
||||
# include "revision_data.h"
|
||||
# define TC_SCRIPT_API TC_API_EXPORT
|
||||
extern "C" {
|
||||
|
||||
/// Exposed in script modules to return the script module revision hash.
|
||||
TC_SCRIPT_API char const* GetScriptModuleRevisionHash()
|
||||
{
|
||||
return _HASH;
|
||||
}
|
||||
|
||||
/// Exposed in script module to return the name of the script module
|
||||
/// contained in this shared library.
|
||||
TC_SCRIPT_API char const* GetScriptModule()
|
||||
{
|
||||
return "@TRINITY_CURRENT_SCRIPT_PROJECT@";
|
||||
}
|
||||
|
||||
#else
|
||||
# include "ScriptLoader.h"
|
||||
# define TC_SCRIPT_API
|
||||
#endif
|
||||
|
||||
/// Exposed in script modules to register all scripts to the ScriptMgr.
|
||||
TC_SCRIPT_API void AddScripts()
|
||||
{
|
||||
@TRINITY_SCRIPTS_INVOKE@}
|
||||
|
||||
/// Exposed in script modules to get the build directive of the module.
|
||||
TC_SCRIPT_API char const* GetBuildDirective()
|
||||
{
|
||||
return _BUILD_DIRECTIVE;
|
||||
}
|
||||
|
||||
#ifdef TRINITY_IS_DYNAMIC_SCRIPTLOADER
|
||||
} // extern "C"
|
||||
#endif
|
||||
Reference in New Issue
Block a user