Skip to content

Commit 94d67e9

Browse files
committed
Revert "Adding Automated Market Maker"
This reverts commit b3a89cd. Restore shift-python
1 parent b3a89cd commit 94d67e9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+12936
-342
lines changed

.DS_Store

-6 KB
Binary file not shown.

CMakeLists.txt

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
### CMake Version ##############################################################
2+
3+
cmake_minimum_required(VERSION 3.10)
4+
5+
### Project Configuration ######################################################
6+
7+
get_filename_component(PROJECT_DIR_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
8+
string(REPLACE " " "_" PROJECT_DIR_NAME ${PROJECT_DIR_NAME})
9+
10+
project(${PROJECT_DIR_NAME}
11+
VERSION 2.0.0 # <major>.<minor>.<patch>
12+
LANGUAGES CXX)
13+
14+
set(LIB_NAME shift)
15+
16+
### List of Files ##############################################################
17+
18+
set(DEMO
19+
${PROJECT_SOURCE_DIR}/demo/credentials.py
20+
${PROJECT_SOURCE_DIR}/demo/demo.py
21+
${PROJECT_SOURCE_DIR}/demo/FIX50SP2.xml
22+
${PROJECT_SOURCE_DIR}/demo/FIXT11.xml
23+
${PROJECT_SOURCE_DIR}/demo/goodcbfs.py
24+
${PROJECT_SOURCE_DIR}/demo/initiator.cfg
25+
${PROJECT_SOURCE_DIR}/demo/zitrader.py
26+
)
27+
28+
set(INCLUDE
29+
${PROJECT_SOURCE_DIR}/include/BestPrice.h
30+
${PROJECT_SOURCE_DIR}/include/Common.h
31+
${PROJECT_SOURCE_DIR}/include/Order.h
32+
${PROJECT_SOURCE_DIR}/include/OrderBook.h
33+
${PROJECT_SOURCE_DIR}/include/OrderBookEntry.h
34+
${PROJECT_SOURCE_DIR}/include/PortfolioItem.h
35+
${PROJECT_SOURCE_DIR}/include/PortfolioSummary.h
36+
${PROJECT_SOURCE_DIR}/include/Trader.h
37+
)
38+
39+
set(SRC
40+
${PROJECT_SOURCE_DIR}/src/SHIFT.cpp
41+
${PROJECT_SOURCE_DIR}/src/Trader.cpp
42+
)
43+
44+
set(OTHER
45+
${PROJECT_SOURCE_DIR}/setup.py
46+
)
47+
48+
### Compiler Flags #############################################################
49+
50+
# Important for libraries
51+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
52+
53+
# C++17
54+
set(CMAKE_CXX_STANDARD 17)
55+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
56+
set(CMAKE_CXX_EXTENSIONS OFF)
57+
add_definitions("-DHAVE_STD_UNIQUE_PTR=1") # QuickFIX C++17 compatibility req.
58+
59+
# Common Flags
60+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -fexceptions")
61+
62+
# Debug Flags
63+
set(CMAKE_CXX_FLAGS_DEBUG "-g -DDEBUG")
64+
65+
# Release Flags
66+
# -O2 instead of -O3
67+
# -flto stands for Link Time Optimization (LTO)
68+
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -finline-functions -flto")
69+
70+
# GCC (Ubuntu 20.04 LTS Focal Fossa)
71+
if(UNIX AND NOT APPLE)
72+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
73+
endif(UNIX AND NOT APPLE)
74+
75+
# GCC (Raspberry Pi OS)
76+
# Ubuntu rules apply here as well
77+
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
78+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
79+
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
80+
81+
# Clang (macOS 11 Big Sur)
82+
if(APPLE)
83+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-overloaded-virtual")
84+
include_directories(/usr/local/include)
85+
endif(APPLE)
86+
87+
### Build Types ################################################################
88+
89+
# if no build type is set, the default is Release
90+
if(NOT CMAKE_BUILD_TYPE)
91+
set(CMAKE_BUILD_TYPE Release)
92+
endif(NOT CMAKE_BUILD_TYPE)
93+
94+
### Build Configuration ########################################################
95+
96+
find_package(pybind11 REQUIRED)
97+
98+
# Always enforce search for SHIFT LibCoreClient
99+
# (necessary when using the same name for Debug and Release)
100+
set (LIBCORECLIENT "LIBCORECLIENT-NOTFOUND")
101+
if(CMAKE_BUILD_TYPE MATCHES Debug)
102+
find_library(LIBCORECLIENT shift_coreclient-d)
103+
endif(CMAKE_BUILD_TYPE MATCHES Debug)
104+
if(CMAKE_BUILD_TYPE MATCHES Release)
105+
find_library(LIBCORECLIENT shift_coreclient)
106+
endif(CMAKE_BUILD_TYPE MATCHES Release)
107+
if(NOT LIBCORECLIENT)
108+
message(FATAL_ERROR "SHIFT LibCoreClient was not found.")
109+
endif(NOT LIBCORECLIENT)
110+
111+
pybind11_add_module(${LIB_NAME}
112+
${DEMO} ${INCLUDE} ${SRC} ${OTHER})
113+
114+
target_include_directories(${LIB_NAME}
115+
PRIVATE ${CMAKE_PREFIX_PATH}/include
116+
PRIVATE ${PROJECT_SOURCE_DIR}/include)
117+
118+
target_link_libraries(${LIB_NAME}
119+
PRIVATE ${LIBCORECLIENT})
120+
121+
################################################################################

0 commit comments

Comments
 (0)