diff --git a/.gitmodules b/.gitmodules index 477e36d96..42225d6e7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "src/realmd"] path = src/realmd url = https://github.com/mangos/realmd.git +[submodule "src/modules/Eluna"] + path = src/modules/Eluna + url = https://github.com/ElunaLuaEngine/Eluna.git diff --git a/CMakeLists.txt b/CMakeLists.txt index eda76b07d..e79fa3b55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # -# This file is part of the MaNGOS Project. See AUTHORS file for Copyright information +# This code is part of MaNGOS. Contributor & Copyright details are in AUTHORS/THANKS. # # 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 @@ -16,45 +16,65 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# CMake policies cmake_minimum_required(VERSION 2.8) +# Until CMake 3.0 is the standard +# And a solution to set_directory_properties is found. +if(POLICY CMP0043) + cmake_policy(SET CMP0043 OLD) +endif() project(MaNGOS) set(MANGOS_VERSION 0.20) set(CMAKE_MODULE_PATH - ${CMAKE_MODULE_PATH} - ${CMAKE_SOURCE_DIR}/cmake + "${CMAKE_MODULE_PATH}" + "${CMAKE_SOURCE_DIR}/cmake" ) # define all options here -option(ACE_USE_EXTERNAL "Use external ACE" OFF) -if(PCHSupport_FOUND AND WIN32) # TODO: why only enable it on windows by default? - option(PCH "Use precompiled headers" ON) +if(WIN32) + set(CONF_DIR "" CACHE STRING "Config path. Can be absolute or relative") else() - option(PCH "Use precompiled headers" OFF) + set(CONF_DIR "etc/" CACHE STRING "Config path. Can be absolute or relative") endif() +option(DEBUG "Debug mode" OFF) +option(USE_STD_MALLOC "Use standard malloc instead of TBB" ON) +option(ACE_USE_EXTERNAL "Use external ACE" OFF) +option(POSTGRESQL "Use PostgreSQL" OFF) +option(BUILD_TOOLS "Build tools (map/vmap/mmap extractors)" ON) +#option(SCRIPT_LIB_ELUNA "Use Eluna as the scripting engine" ON) Temporarily disabled till more sync work is done +option(SCRIPT_LIB_SD2 "Use ScriptDev2 as the scripting engine" ON) +option(SOAP "Enable access via SOAP or not" OFF) +option(PCH "Use precompiled headers" ON) # TODO: options that should be checked/created: #option(CLI "With CLI" ON) #option(RA "With Remote Access" OFF) #option(SQL "Copy SQL files" OFF) -#option(TOOLS "Build tools" OFF) # Output description of this script message("") message( "This script builds the MaNGOS server. Options that can be used in order to configure the process: + General: CMAKE_INSTALL_PREFIX Path where the server should be installed to - CMAKE_BUILD_TYPE Sets build type (Release;Debug;...) + CONF_DIR Path to the configs, can be absolute or relative. PCH Use precompiled headers - INCLUDE_BINDINGS_DIR Include a script library in src/bindings/ with the - defined name. the name must corespond to the name of - the folder and the folder must contain a valid - CMakeLists.txt + DEBUG Debug mode + USE_STD_MALLOC Use standard malloc instead of TBB ACE_USE_EXTERNAL Use external ACE + BUILD_TOOLS Build map/vmap/mmap extractors + SOAP Enable remote access via SOAP + Scripting engines: + SCRIPT_LIB_ELUNA Compile with support for Eluna scripts + SCRIPT_LIB_SD2 Compile with support for ScriptDev2 scripts + To set an option simply type -D