| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.4)
- SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
- SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Cmake)
- SET(CMAKE_USE_RELATIVE_PATHS ON)
- IF(NOT CMAKE_BUILD_TYPE)
- SET(CMAKE_BUILD_TYPE "Debug")
- ENDIF()
- PROJECT(Cpp)
- OPTION(TESTS "Decide if the test suite shall be built or not" ON)
- OPTION(PROFILE "Use Google Perftool Profile" OFF)
- IF(TESTS)
- ENABLE_TESTING()
- ENDIF()
- INCLUDE_DIRECTORIES(Platform)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/Platform)
- INCLUDE_DIRECTORIES(Game)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/Game)
- INCLUDE_DIRECTORIES(ThirdParty)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/ThirdParty)
- FIND_PACKAGE(Protobuf REQUIRED)
- INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
- LINK_DIRECTORIES(${PROTOBUF_LIBRARY_DIR})
- FIND_PACKAGE(Perftools REQUIRED)
- INCLUDE_DIRECTORIES(${PERFTOOLS_INCLUDE_DIR})
- LINK_DIRECTORIES(${PERFTOOLS_LIBRARY_DIR})
- FIND_PACKAGE(Boost REQUIRED thread system)
- SET(Boost_USE_STATIC_LIBS ON)
- SET(Boost_USE_MULTITHREADED ON)
- SET(Boost_USE_STATIC_RUNTIME OFF)
- INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR})
- LINK_DIRECTORIES(${Boost_LIBRARY_DIR})
- SET(ThirdPartyLibs
- gtest
- gmock
- ${PROTOBUF_LIBRARIES}
- ${Boost_LIBRARIES}
- ${PERFTOOLS_DEBUG_LIBRARIES}
- )
- IF(PROFILE)
- SET(ThirdPartyLibs ${ThirdPartyLibs} ${PERFTOOLS_PROFILE_LIBRARIES})
- ENDIF()
- MESSAGE(STATUS "${ThirdPartyLibs}")
- IF(MSVC)
- SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Zi /WX /wd4244 /wd4267 /wd4018 /wd4355 /wd4800 /wd4251 /wd4996 /wd4146 /wd4305 /wd4819")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:libc.lib")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:libcmt.lib")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:msvcrt.lib")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:libcd.lib")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:msvcrtd.lib")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:msvcprtd.lib")
- ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB -D_WIN32_WINNT=0x0501)
- ENDIF()
- ADD_SUBDIRECTORY(Platform)
- ADD_SUBDIRECTORY(Game)
- ADD_SUBDIRECTORY(ThirdParty)
|