-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
157 lines (142 loc) · 4.21 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
154
155
156
157
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
PROJECT(proto_ros2)
SET(CMAKE_BUILD_TYPE Release)
# DEPENDENCIES
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
# -- ROS2 DEPENDENCIES
FIND_PACKAGE(ament_cmake REQUIRED)
FIND_PACKAGE(ament_cmake_python REQUIRED)
FIND_PACKAGE(builtin_interfaces REQUIRED)
FIND_PACKAGE(eigen3_cmake_module REQUIRED)
FIND_PACKAGE(Eigen3 REQUIRED)
FIND_PACKAGE(OpenCV REQUIRED)
FIND_PACKAGE(realsense2 REQUIRED)
FIND_PACKAGE(std_msgs REQUIRED)
FIND_PACKAGE(sensor_msgs REQUIRED)
FIND_PACKAGE(geometry_msgs REQUIRED)
FIND_PACKAGE(rclpy REQUIRED)
FIND_PACKAGE(rclcpp REQUIRED)
FIND_PACKAGE(rclcpp_components REQUIRED)
FIND_PACKAGE(image_transport REQUIRED)
FIND_PACKAGE(message_filters REQUIRED)
FIND_PACKAGE(cv_bridge REQUIRED)
FIND_PACKAGE(px4_msgs REQUIRED)
# -- PROTO DEPENDENCIES
FIND_PACKAGE(BLAS REQUIRED)
FIND_PACKAGE(LAPACK REQUIRED)
# INCLUDES AND LIB DIRECTORIES
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${Eigen3_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${realsense2_INCLUDE_DIR})
INCLUDE_DIRECTORIES(/opt/yac/include)
INCLUDE_DIRECTORIES(/opt/proto/include)
LINK_DIRECTORIES(/opt/yac/lib)
LINK_DIRECTORIES(/opt/proto/lib)
LINK_DIRECTORIES(/usr/local/lib)
# EXPORT DEPENDENCIES
AMENT_EXPORT_DEPENDENCIES(
ament_cmake
rclcpp
rclcpp_components
rosidl_default_runtime
eigen3_cmake_module
Eigen3
realsense2
std_msgs
sensor_msgs
geometry_msgs
message_filters
cv_bridge
image_transport
)
# ROS NODES
# -- SBGC node
ADD_EXECUTABLE(sbgc_node src/sbgc_node.cpp)
AMENT_TARGET_DEPENDENCIES(sbgc_node rclcpp std_msgs geometry_msgs)
INSTALL(TARGETS sbgc_node DESTINATION lib/${PROJECT_NAME})
# -- RealSense node
ADD_EXECUTABLE(rs_node src/rs_node.cpp)
AMENT_TARGET_DEPENDENCIES(rs_node rclcpp image_transport cv_bridge)
TARGET_LINK_LIBRARIES(
rs_node
realsense2::realsense2
${OpenCV_LIBS}
)
INSTALL(TARGETS rs_node DESTINATION lib/${PROJECT_NAME})
# -- RealSense Multi-camera node
ADD_EXECUTABLE(rs_multicam_node src/rs_multicam_node.cpp)
AMENT_TARGET_DEPENDENCIES(rs_multicam_node rclcpp image_transport cv_bridge)
TARGET_LINK_LIBRARIES(
rs_multicam_node
realsense2::realsense2
${OpenCV_LIBS}
)
INSTALL(TARGETS rs_multicam_node DESTINATION lib/${PROJECT_NAME})
# -- Calib Camera Record
ADD_EXECUTABLE(calib_camera_record src/calib_camera_record.cpp)
TARGET_LINK_LIBRARIES(
calib_camera_record
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_camera_record DESTINATION lib/${PROJECT_NAME})
# -- Calib Camera-IMU Inspect
ADD_EXECUTABLE(calib_camimu_record src/calib_camimu_record.cpp)
TARGET_LINK_LIBRARIES(
calib_camimu_record
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_camimu_record DESTINATION lib/${PROJECT_NAME})
# -- Calib Gimbal Inspect
ADD_EXECUTABLE(calib_gimbal_inspect src/calib_gimbal_inspect.cpp)
TARGET_LINK_LIBRARIES(
calib_gimbal_inspect
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_gimbal_inspect DESTINATION lib/${PROJECT_NAME})
# -- Calib Gimbal Inspect 2
ADD_EXECUTABLE(calib_gimbal_inspect2 src/calib_gimbal_inspect2.cpp)
TARGET_LINK_LIBRARIES(
calib_gimbal_inspect2
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_gimbal_inspect2 DESTINATION lib/${PROJECT_NAME})
# -- Calib Gimbal Record
ADD_EXECUTABLE(calib_gimbal_record src/calib_gimbal_record.cpp)
TARGET_LINK_LIBRARIES(
calib_gimbal_record
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_gimbal_record DESTINATION lib/${PROJECT_NAME})
# -- Calib Gimbal Record 2
ADD_EXECUTABLE(calib_gimbal_record2 src/calib_gimbal_record2.cpp)
TARGET_LINK_LIBRARIES(
calib_gimbal_record2
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_gimbal_record2 DESTINATION lib/${PROJECT_NAME})
# -- Calib Multi Realsense Recorder
ADD_EXECUTABLE(calib_multi_rs_record src/calib_multi_rs_record.cpp)
TARGET_LINK_LIBRARIES(
calib_multi_rs_record
realsense2::realsense2
apriltags
${OpenCV_LIBS}
)
INSTALL(TARGETS calib_multi_rs_record DESTINATION lib/${PROJECT_NAME})
# INSTALL CONFIG AND LAUNCH FILES
INSTALL(DIRECTORY config DESTINATION share/${PROJECT_NAME}/)
INSTALL(DIRECTORY launch DESTINATION share/${PROJECT_NAME}/)
# FORM ROS2 Package
AMENT_PACKAGE()