-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
38 lines (31 loc) · 888 Bytes
/
Copy pathCMakeLists.txt
File metadata and controls
38 lines (31 loc) · 888 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
cmake_minimum_required(VERSION 3.15)
project(ArbitrageDetector)
# Use C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Boost REQUIRED)
find_package(nlohmann_json REQUIRED)
# Help CMake find Homebrew's OpenSSL on macOS
set(OPENSSL_ROOT_DIR /opt/homebrew/opt/openssl@3)
find_package(OpenSSL REQUIRED)
# Include directories
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${Boost_INCLUDE_DIRS})
# Source files
set(SOURCES
src/main.cpp
src/storage/price_storage.cpp
src/fetcher/binance_fetcher.cpp
src/fetcher/coinbase_fetcher.cpp
src/detector/arbitrage_detector.cpp
src/orderbook/orderbook.cpp
)
# Create executable
add_executable(arbitrage ${SOURCES})
# Link Boost and OpenSSL libraries
target_link_libraries(arbitrage
Boost::boost
nlohmann_json::nlohmann_json
OpenSSL::SSL
OpenSSL::Crypto
)