cmake_minimum_required(VERSION 3.5) project(revenant) set(CMAKE_BUILD_TYPE Debug) # Necessary to generate debugging symbols set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/targets) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/targets) set(CMAKE_INSTALL_RPATH $ORIGIN) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWINDOZE=1 /W4") endif() include(GenerateExportHeader) find_package(Catch2 3 REQUIRED) set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) find_package(Boost 1.45.0 COMPONENTS thread date_time regex filesystem program_options) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) endif() include_directories(marslib/include/) add_definitions(-DBOOST_ALL_NO_LIB) add_definitions(-DBOOST_ALL_DYN_LINK) add_subdirectory(third-party) add_subdirectory(marslib) add_subdirectory(geoworld) add_subdirectory(terrain-generator) add_subdirectory(yamlprovider) add_subdirectory(gdmodule) add_dependencies(geoworld marslib) add_dependencies(gdmodule yamlprovider geoworld) add_dependencies(terrain-generator geoworld yamlprovider)