-
Notifications
You must be signed in to change notification settings - Fork 4
/
CMake.BerkeleyDB
139 lines (114 loc) · 5.22 KB
/
CMake.BerkeleyDB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# This cmake is for ubuntu - please note that to evaluate a KV store with Gadget, you need to install the KV store on your system and change this cmake
# we provide cmake for RocksDB - Faster and Berkeley kv stores, Please find them in cmakes folder
cmake_minimum_required(VERSION 3.16)
project(gadget)
set(BINARY ${CMAKE_PROJECT_NAME})
# use c++ 17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
file(GLOB_RECURSE SOURCES src/*.cc)
file(GLOB_RECURSE INCLUDES src/include/*.h)
file(GLOB_RECURSE SOURCES LIST_DIRECTORIES true *.h *.cpp)
set(SOURCES ${SOURCES})
########################################################## setup BerkeleyDB
###################### setup BerkeleyDB
find_library(BERCLYLIB db_cxx /home/akita/dbs/berkerlydb)
set(BERCLYDIR /home/akita/dbs/berkerlydb)
message("BerkeleyDB lib: ${BERCLYLIB}")
# include
include_directories("include")
add_executable(gadget core/main.cpp
core/config.h
include/gadget/distributions/key.h
include/gadget/distributions/value.h
include/gadget/distributions/arrival.h
include/gadget/kvwrappers/kvwrapper.h
include/gadget/kvwrappers/RocksDBWrapper.h
include/gadget/kvwrappers/wrapperBuilder.h
include/gadget/performanceMetrics.h
core/PerformanceMetrics.cpp
include/gadget/distributions/windowLength.h
include/gadget/distributions/keySize.h
include/gadget/distributions/keyPopularity.h
operators/ycsbTrace.cpp
include/gadget/operator/operators/continuousAggregation.h
include/gadget/operator/operators/intervalJoin.h
include/gadget/operator/operators/joinSliding.h
include/gadget/operator/operators/intervalJoin.h
include/gadget/operator/operators/joinTumbling.h
include/gadget/operator/operators/operatorBuilder.h
include/gadget/operator/operators/operatorParameters.h
include/gadget/operator/operators/slidingAllHolistic.h
include/gadget/operator/operators/slidingAllIncremental.h
include/gadget/operator/operators/slidingKeyedIncremental.h
include/gadget/operator/operators/slidingAllHolistic.h
include/gadget/operator/operators/tumblingAllHolistic.h
include/gadget/operator/operators/tumblingAllIncremental.h
include/gadget/operator/operators/tumblingKeyedIncremental.h
include/gadget/operator/operators/tumblingKeyedHolistic.h
include/gadget/operator/operators/continuousJoin.h
include/gadget/operator/operators/sessionHolistic.h
include/gadget/operator/operators/sessionIncremental.h
operators/flinkTrace.cpp
include/gadget/distributions/serviceTime.h
include/gadget/distributions/distributionParamters.h
include/gadget/event/event.h
include/gadget/event/eventGenerator.h
operators/continuousJoin.cpp
operators/slidingAllIncremental.cpp
operators/slidingKeyedIncremental.cpp
operators/joinTumbling.cpp
operators/slidingKeyedHolistic.cpp
operators/slidingAllHolistic.cpp
operators/tumblingAllIncremental.cpp
operators/tumblingAllIHolistic.cpp
operators/tumblingKeyedIncremental.cpp
operators/tumblingKeyedHolistic.cpp
operators/joinSliding.cpp
operators/continuousAggregation.cpp
operators/intervalJoin.cpp
operators/sessionHolistic.cpp
operators/sessionIncremental.cpp
include/gadget/kvwrappers/fileWrapper.h
core/tests.h
include/gadget/event/eventGeneratorParameters.h
include/gadget/statemachine/stateMachines.h
include/gadget/operator/oneStreamContinuousOperator.h
include/gadget/operator/oneStreamWindowOperator.h
include/gadget/operator/twoStreamContinuousOperator.h
include/gadget/operator/twoStreamWindowOperator.h
include/gadget/event/gadgetEventGenerator.h
include/gadget/event/traceEvents.h
include/gadget/statemachine/conJoinSM.h
include/gadget/statemachine/intervalJoinSM.h
include/gadget/statemachine/contAggrSM.h
include/gadget/statemachine/windowHolisticSM.h
include/gadget/statemachine/windowIncrementalSM.h
include/gadget/kvwrappers/lethe.h
include/gadget/kvwrappers/faster.h
include/gadget/kvwrappers/berecklyDB.h
include/gadget/operator/operators/ycsbReplayer.h
include/gadget/operator/operators/flinkReplayer.h
)
# make gadget source a library to use it in google tests
add_library(${BINARY}_lib STATIC ${SOURCES})
message(${BINARY})
# add .BerkeleyDB
include_directories(gadget ${BERCLYDIR})
target_link_libraries(gadget ${BERCLYLIB})
#######################################
target_link_libraries(gadget pthread)
target_link_libraries(gadget dl)
target_link_libraries(gadget z)
target_link_libraries(gadget bz2)
target_link_libraries(gadget zstd)
target_link_libraries(gadget snappy)
#-lstdc++fs -luuid -ltbb -lgcc -laio -lm -lstdc++
target_link_libraries(gadget uuid)
target_link_libraries(gadget tbb )
target_link_libraries(gadget aio)
target_link_libraries(gadget m)
target_link_libraries(gadget stdc++fs)
target_link_libraries(gadget /usr/lib/x86_64-linux-gnu/liblz4.a)
target_link_libraries(gadget ssl)
target_link_libraries(gadget crypto)