-
Notifications
You must be signed in to change notification settings - Fork 4
/
CMakeLists.txt
100 lines (84 loc) · 2.37 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
cmake_minimum_required(VERSION 3.18)
project(RO-MAP)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF()
add_definitions(-Wno-unused-value -Wno-unknown-pragmas -Wno-sequence-point
-Wno-delete-non-virtual-dtor -Wno-unused-but-set-variable
-Wno-sign-compare -Wno-unused-variable -Wno-return-local-addr
-Wno-unused-function -Wno-deprecated-declarations)
MESSAGE("Build type: " ${CMAKE_BUILD_TYPE})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
##########
# OpenCV #
##########
find_package(OpenCV 3.0 QUIET)
if(NOT OpenCV_FOUND)
find_package(OpenCV 2.4.3 QUIET)
if(NOT OpenCV_FOUND)
message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
endif()
endif()
#########
# Eigen #
#########
find_package(Eigen3 REQUIRED)
############
# Pangolin #
############
find_package(Pangolin REQUIRED)
##################
# Mutil_Object_NeRF #
##################
include_directories(${PROJECT_SOURCE_DIR}/dependencies/Multi-Object-NeRF/Core)
include_directories(${PROJECT_SOURCE_DIR}/dependencies/Multi-Object-NeRF/Core/include)
include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/include
${EIGEN3_INCLUDE_DIR}
${Pangolin_INCLUDE_DIRS}
)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
add_library(${PROJECT_NAME} SHARED
src/System.cc
src/Tracking.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/ORBextractor.cc
src/ORBmatcher.cc
src/FrameDrawer.cc
src/Converter.cc
src/MapPoint.cc
src/KeyFrame.cc
src/Map.cc
src/MapDrawer.cc
src/Optimizer.cc
src/PnPsolver.cc
src/Frame.cc
src/KeyFrameDatabase.cc
src/Sim3Solver.cc
src/Initializer.cc
src/Viewer.cc
#OBJECT-NERF-SLAM
src/ObjectFrame.cc
src/OptimizeObject.cc
src/ObjectMap.cc
)
target_link_libraries(${PROJECT_NAME}
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/dependencies/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/dependencies/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/dependencies/line_lbd/lib/libline_lbd.so
#Multi-Object-NeRF
${PROJECT_SOURCE_DIR}/dependencies/Multi-Object-NeRF/Core/build/libMON.so
)
# Build examples
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/examples/Monocular)
add_executable(mono_tum
examples/Monocular/mono_tum.cc)
target_link_libraries(mono_tum ${PROJECT_NAME})