1 | cmake_minimum_required(VERSION 3.5)
|
---|
2 |
|
---|
3 | project(revenant)
|
---|
4 | set(CMAKE_BUILD_TYPE Debug) # Necessary to generate debugging symbols
|
---|
5 |
|
---|
6 | set(CMAKE_CXX_STANDARD 11)
|
---|
7 | set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
---|
8 | set(CMAKE_CXX_EXTENSIONS OFF)
|
---|
9 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/targets)
|
---|
10 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/targets)
|
---|
11 | set(CMAKE_INSTALL_RPATH $ORIGIN)
|
---|
12 | set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
---|
13 |
|
---|
14 | if(MSVC)
|
---|
15 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWINDOZE=1 /W4")
|
---|
16 | endif()
|
---|
17 |
|
---|
18 | include(GenerateExportHeader)
|
---|
19 |
|
---|
20 | find_package(Catch2 3 REQUIRED)
|
---|
21 |
|
---|
22 | set(Boost_USE_STATIC_LIBS OFF)
|
---|
23 | set(Boost_USE_MULTITHREADED ON)
|
---|
24 | set(Boost_USE_STATIC_RUNTIME OFF)
|
---|
25 | find_package(Boost 1.45.0 COMPONENTS thread date_time regex filesystem program_options)
|
---|
26 |
|
---|
27 | if(Boost_FOUND)
|
---|
28 | include_directories(${Boost_INCLUDE_DIRS})
|
---|
29 | endif()
|
---|
30 |
|
---|
31 | include_directories(marslib/include/)
|
---|
32 | add_definitions(-DBOOST_ALL_NO_LIB)
|
---|
33 | add_definitions(-DBOOST_ALL_DYN_LINK)
|
---|
34 |
|
---|
35 | add_subdirectory(third-party)
|
---|
36 | add_subdirectory(marslib)
|
---|
37 | add_subdirectory(geoworld)
|
---|
38 | add_subdirectory(terrain-generator)
|
---|
39 | add_subdirectory(yamlprovider)
|
---|
40 | add_subdirectory(gdmodule)
|
---|
41 |
|
---|
42 | add_dependencies(geoworld marslib)
|
---|
43 | add_dependencies(gdmodule yamlprovider geoworld)
|
---|
44 | add_dependencies(terrain-generator geoworld yamlprovider)
|
---|