-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
153 lines (133 loc) · 4.66 KB
/
CMakeLists.txt
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
cmake_minimum_required(VERSION 3.10)
project(ReconstructionServer CXX)
set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
include_directories(common/proto/gen/cpp
depends/openMVS/openMVS_build
depends/openMVG/src/software/SfM/export
/usr/local/include/openMVG/third_party/flann/src/cpp
depends/
src/core
src/gateway
src/index/src
src/job
src/job/test
src/worker
src/worker_manager
/usr/local/include/openMVG_dependencies
/usr/local/include/mongocxx/v_noabi
/usr/local/include/libmongoc-1.0
/usr/local/include/openMVG
/usr/local/include/bsoncxx/v_noabi
/usr/local/include/libbson-1.0)
find_package(Protobuf REQUIRED)
find_package(Boost COMPONENTS filesystem REQUIRED)
find_package(gRPC REQUIRED)
find_package(OpenMVG REQUIRED)
file(GLOB CORE_SOURCES
common/proto/gen/cpp/*.cc
common/proto/gen/cpp/*.cpp
src/core/*.cpp
src/job/*.cpp
)
file(GLOB JOB_TEST_PRODUCER_SOURCES
src/job/test/test_producer.cpp
)
file(GLOB JOB_TEST_WORKER_SOURCES
src/job/test/test_worker.cpp
)
file(GLOB GATEWAY_SOURCES
src/gateway/*.cpp
)
file(GLOB UPLOAD_INTRINISICS_SOURCES
tools/upload_intrinsics_db_to_mysql.cpp
)
file(GLOB BUILD_INDEX_SOURCES
src/index/src/*.cpp
src/index/tools/generate_index.cpp
)
file(GLOB INDEX_SERVER_SOURCES
src/index/src/*.cpp
src/index/server/*.cpp
)
file(GLOB STORAGE_SOURCES
src/storage/*.cpp
)
file(GLOB WORKER_POOL_MANAGER_SOURCES
src/worker_manager/*.cpp
)
file(GLOB WORKER_SOURCES
src/worker/src/*.cpp
)
add_library(core ${CORE_SOURCES})
set_property(TARGET core PROPERTY CXX_STANDARD 14)
target_link_libraries(core
amqpcpp
elasticlient
mongocxx
bsoncxx
${Protobuf_LIBRARIES}
vlsift
gRPC::grpc++
glog
mysqlcppconn Boost::filesystem
redis++
hiredis
event
amqpcpp
OpenMVG::openMVG_image
OpenMVG::openMVG_features
)
add_executable(gateway ${GATEWAY_SOURCES})
set_property(TARGET gateway PROPERTY CXX_STANDARD 14)
target_link_libraries(gateway core)
add_executable(job_test_producer ${JOB_TEST_PRODUCER_SOURCES})
set_property(TARGET gateway PROPERTY CXX_STANDARD 14)
target_link_libraries(job_test_producer core)
add_executable(job_test_worker ${JOB_TEST_WORKER_SOURCES})
set_property(TARGET job_test_worker PROPERTY CXX_STANDARD 14)
target_link_libraries(job_test_worker core)
add_executable(upload_intrinsics_tool ${UPLOAD_INTRINISICS_SOURCES})
set_property(TARGET upload_intrinsics_tool PROPERTY CXX_STANDARD 14)
target_link_libraries(upload_intrinsics_tool core)
add_executable(build_index ${BUILD_INDEX_SOURCES})
set_property(TARGET build_index PROPERTY CXX_STANDARD 14)
target_link_libraries(build_index
core
lz4
)
add_executable(indexing_server ${INDEX_SERVER_SOURCES})
set_property(TARGET indexing_server PROPERTY CXX_STANDARD 14)
target_link_libraries(indexing_server glog
core
lz4
)
add_executable(storage_server ${STORAGE_SOURCES})
set_property(TARGET storage_server PROPERTY CXX_STANDARD 14)
target_link_libraries(storage_server
core
)
add_executable(worker_manager ${WORKER_POOL_MANAGER_SOURCES})
set_property(TARGET worker_manager PROPERTY CXX_STANDARD 14)
target_link_libraries(worker_manager
core
)
add_executable(worker ${WORKER_SOURCES})
set_property(TARGET worker PROPERTY CXX_STANDARD 14)
target_link_libraries(worker
core
OpenMVG::openMVG_linearProgramming
OpenMVG::openMVG_matching
OpenMVG::openMVG_matching_image_collection
OpenMVG::openMVG_multiview
OpenMVG::openMVG_numeric
OpenMVG::openMVG_robust_estimation
OpenMVG::openMVG_sfm
OpenMVG::openMVG_system
OpenMVG::openMVG_camera
OpenMVG::openMVG_exif
OpenMVG::openMVG_features
OpenMVG::openMVG_geodesy
OpenMVG::openMVG_geometry
OpenMVG::openMVG_graph
)