17 lines
629 B
CMake
17 lines
629 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(backtest CXX)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
endif()
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -DNDEBUG")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wextra -Wpedantic -fsanitize=address,undefined")
|
|
include_directories(core/include)
|
|
add_executable(backtest core/src/main.cpp)
|
|
find_package(yaml-cpp REQUIRED)
|
|
target_link_libraries(backtest PRIVATE yaml-cpp)
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
|
|
target_link_libraries(backtest stdc++fs)
|
|
endif()
|