-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathCMakeLists.txt
127 lines (113 loc) · 2.81 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
cmake_minimum_required(VERSION 3.16)
project(lsc_dr_planner)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
set(CMAKE_CXX_STANDARD 17)
include_directories(${PROJECT_SOURCE_DIR}/include)
#BOOST14
find_package(Boost 1.58 REQUIRED COMPONENTS program_options)
#EIGEN
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})
#OCTOMAP
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
add_definitions(-DOCTOMAP_NODEBUGOUT)
#PCL
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
#EDT
find_package(dynamicEDT3D REQUIRED)
include_directories(${DYNAMICEDT3D_INCLUDE_DIRS})
link_libraries(${DYNAMICEDT3D_LIBRARIES})
#CPLEX
add_definitions(-DNDEBUG)
add_definitions(-DIL_STD)
set(CPLEX_PREFIX_DIR /opt/ibm/ILOG/CPLEX_Studio201)
set(CPLEX_INCLUDE_DIR ${CPLEX_PREFIX_DIR}/cplex/include)
set(CPLEX_LIBRARIES_DIR ${CPLEX_PREFIX_DIR}/cplex/lib/x86-64_linux/static_pic)
set(CONCERT_INCLUDE_DIR ${CPLEX_PREFIX_DIR}/concert/include)
set(CONCERT_LIBRARIES_DIR ${CPLEX_PREFIX_DIR}/concert/lib/x86-64_linux/static_pic)
include_directories(${CPLEX_INCLUDE_DIR} ${CONCERT_INCLUDE_DIR})
link_directories(${CPLEX_LIBRARIES_DIR} ${CONCERT_LIBRARIES_DIR})
set(CPLEX_LIBRARIES
m
ilocplex
cplex
concert
pthread
dl
)
#CATKIN
find_package(catkin REQUIRED COMPONENTS
roscpp
roslib
rosbag
std_msgs
nav_msgs
sensor_msgs
geometry_msgs
octomap_ros
octomap_msgs
pcl_ros
)
include_directories(
${catkin_INCLUDE_DIRS}
)
catkin_package(
INCLUDE_DIRS include
CATKIN_DEPENDS roscpp roslib message_runtime octomap_ros octomap_msgs pcl_ros
DEPENDS OCTOMAP
)
#openGJK
set(OPENGJK_SRC
src/openGJK/openGJK.cpp
)
#MAPF
add_subdirectory(third_party/grid-pathfinding/graph ./graph)
set(MAPF_SRC
src/mapf/lib_cbs.cpp
src/mapf/solver.cpp
src/mapf/paths.cpp
src/mapf/plan.cpp
src/mapf/problem.cpp
src/mapf/pibt.cpp
src/mapf/ecbs.cpp
)
#LSC planner
set(LSC_PLANNER_SRC
src/param.cpp
src/mission.cpp
src/trajectory.cpp
src/agent_manager.cpp
src/map_manager.cpp
src/traj_planner.cpp
src/traj_optimizer.cpp
src/goal_optimizer.cpp
src/grid_based_planner.cpp
src/collision_constraints.cpp
src/linear_kalman_filter.cpp
${OPENGJK_SRC}
)
#########
# Build #
#########
add_executable(multi_sync_simulator_node
src/multi_sync_simulator_node.cpp
src/multi_sync_simulator.cpp
src/multi_sync_replayer.cpp
${LSC_PLANNER_SRC}
${MAPF_SRC}
)
add_dependencies(multi_sync_simulator_node ${catkin_EXPORTED_TARGETS})
target_link_libraries(multi_sync_simulator_node
${catkin_LIBRARIES}
${OCTOMAP_LIBRARIES}
${CPLEX_LIBRARIES}
${PCL_LIBRARIES}
lib-graph
stdc++fs
)