Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
- #
- # 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.
- # We require CMake >= 3.0
- cmake_minimum_required(VERSION 3.0)
- # Set projectname (must be done AFTER setting configurationtypes)
- project(TrinityCore)
- # CMake policies (can not be handled elsewhere)
- cmake_policy(SET CMP0005 OLD)
- if(POLICY CMP0043)
- cmake_policy(SET CMP0043 OLD) # Disable 'Ignore COMPILE_DEFINITIONS_<Config> properties'
- endif()
- if(POLICY CMP0054)
- cmake_policy(SET CMP0054 NEW) # Only interpret if() arguments as variables or keywords when unquoted - prevents intepreting if (SOME_STRING_VARIABLE MATCHES "MSVC") as if (SOME_STRING_VARIABLE MATCHES "1")
- endif()
- # add this options before PROJECT keyword
- set(CMAKE_DISABLE_SOURCE_CHANGES ON)
- set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
- # Set RPATH-handing (CMake parameters)
- set(CMAKE_SKIP_BUILD_RPATH 0)
- set(CMAKE_BUILD_WITH_INSTALL_RPATH 0)
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
- # set macro-directory
- set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/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(CheckIncludeFiles)
- include(ConfigureScripts)
- # set default buildoptions and print them
- include(cmake/options.cmake)
- # turn off PCH totally if enabled (hidden setting, mainly for devs)
- if( NOPCH )
- set(USE_COREPCH 0)
- set(USE_SCRIPTPCH 0)
- endif()
- include(CheckPlatform)
- include(GroupSources)
- include(AutoCollect)
- find_package(PCHSupport)
- find_package(MySQL)
- if(NOT WITHOUT_GIT)
- find_package(Git)
- endif()
- # Find revision ID and hash of the sourcetree
- include(cmake/genrev.cmake)
- # print out the results before continuing
- include(cmake/showoptions.cmake)
- # add dependencies
- add_subdirectory(dep)
- # add core sources
- add_subdirectory(src)
- find_package(Boost 1.36.0)
- if(Boost_FOUND)
- include_directories(${Boost_INCLUDE_DIRS})
- add_executable(foo foo.cc)
- endif()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement