configuration system for cmake

- moved cmake options under conf
and created default/custom configuration system for cmake
This commit is contained in:
Yehonal
2016-07-25 17:29:20 +02:00
committed by Yehonal
parent b91b679669
commit d1b8eea42f
3 changed files with 23 additions and 16 deletions

12
.gitignore vendored
View File

@@ -1,7 +1,19 @@
#
# AzerothCore
#
*/compiler/config.sh */compiler/config.sh
conf/*
!conf/*.dist
modules/*
!modules/dep/
build*/ build*/
#
#Generic
#
.directory .directory
.mailmap .mailmap
*.orig *.orig

View File

@@ -28,11 +28,6 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
# set macro-directory # set macro-directory
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/cmake/macros") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/cmake/macros")
# build in Release-mode by default if not explicitly set
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE "Release")
endif()
include(CheckCXXSourceRuns) include(CheckCXXSourceRuns)
include(CheckIncludeFiles) include(CheckIncludeFiles)
@@ -40,7 +35,17 @@ include(CheckIncludeFiles)
include(src/cmake/utils.cmake) include(src/cmake/utils.cmake)
# set default buildoptions and print them # set default buildoptions and print them
include(src/cmake/options.cmake) include(conf/config.cmake.dist)
# load custom configurations for cmake if exists
if(EXISTS "conf/config.cmake")
include(conf/config.cmake)
endif()
# build in Release-mode by default if not explicitly set
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE "Release")
endif()
# turn off PCH totally if enabled (hidden setting, mainly for devs) # turn off PCH totally if enabled (hidden setting, mainly for devs)
if( NOPCH ) if( NOPCH )

View File

@@ -1,13 +1,3 @@
# 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.
option(SERVERS "Build worldserver and authserver" 1) option(SERVERS "Build worldserver and authserver" 1)
option(SCRIPTS "Build core with scripts included" 1) option(SCRIPTS "Build core with scripts included" 1)
option(TOOLS "Build map/vmap/mmap extraction/assembler tools" 0) option(TOOLS "Build map/vmap/mmap extraction/assembler tools" 0)