# MaNGOS is a full featured server for World of Warcraft, supporting # the following clients: 1.12.x, 2.4.3, 3.3.5a, 4.3.4a and 5.4.8 # # Copyright (C) 2005-2017 MaNGOS project # # 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, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA project(MaNGOS) set(MANGOS_VERSION 0.21) set(MANGOS_EXP "CLASSIC") add_definitions(-DCLASSIC) # 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() set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) set(CMAKE_INSTALL_RPATH "${LIBS_DIR}") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # Set the correct macro directory path set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") # Define available cmake options below if(WIN32) set(CONF_DIR "" CACHE STRING "Path to the configs, can be absolute or relative.") else() set(CONF_DIR "etc/" CACHE STRING "Path to the configs, can be absolute or relative.") endif() option(DEBUG "Debug mode (strict compile, all warnings)" OFF) option(ACE_USE_EXTERNAL "Use external ACE" OFF) option(POSTGRESQL "Use PostgreSQL instead of MySQL" OFF) option(BUILD_MANGOSD "Build the main server" ON) option(BUILD_REALMD "Build the login server" ON) option(BUILD_TOOLS "Build the map/vmap/mmap extractors" ON) option(SCRIPT_LIB_ELUNA "Compile with support for Eluna scripts" ON) option(SCRIPT_LIB_SD3 "Compile with support for ScriptDev3 scripts" ON) option(PLAYERBOTS "Enable Player Bots" OFF) option(SOAP "Enable remote access via SOAP" OFF) # Hidden option to enable/disable PCH. DEV ONLY! set(PCH ON) # Print CLI helper message 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 CONF_DIR Path to the configs, can be absolute or relative. DEBUG Debug mode (strict compile, all warnings) ACE_USE_EXTERNAL Use external ACE BUILD_MANGOSD Build the main server BUILD_REALMD Build the login server BUILD_TOOLS Build the map/vmap/mmap extractors SOAP Enable remote access via SOAP Scripting engines: SCRIPT_LIB_ELUNA Compile with support for Eluna scripts SCRIPT_LIB_SD3 Compile with support for ScriptDev3 scripts Modules: PLAYERBOTS Enable Player Bots To set an option simply type -D