-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
155 lines (129 loc) · 4.16 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
cmake_minimum_required(VERSION 3.0.2)
project(video_feed_stitcher)
# set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};/home/seven-robot-2/librealsense/build/")
## Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS
roscpp
image_transport
cv_bridge
sensor_msgs
diagnostic_msgs
dynamic_reconfigure
geometry_msgs
image_geometry
message_generation
pluginlib
rosbuild
rviz
seven_robotics_msgs
seven_robot_utils
std_msgs
tf2_ros
tf2_geometry_msgs
tf2_eigen
pcl_ros
pcl_conversions
)
## System dependencies are found with CMake's conventions
find_package(OpenCV 3.2.0 REQUIRED)
# find_package(YAML_CPP REQUIRED)
find_package(PCL 1.10 REQUIRED)
# find_package(PCL 1.10 REQUIRED COMPONENTS common io filters)
find_package(realsense2 REQUIRED)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
###################################
## catkin-specific configuration ##
###################################
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS roscpp image_transport cv_bridge sensor_msgs diagnostic_msgs dynamic_reconfigure geometry_msgs image_geometry
message_generation pluginlib rosbuild rviz seven_robotics_msgs seven_robot_utils std_msgs tf2_ros tf2_geometry_msgs
pcl_ros pcl_conversions tf2_eigen
DEPENDS OpenCV
)
###########
## Build ##
###########
## Specify additional locations of header files
include_directories(
include
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
${realsense2_INCLUDE_DIR}
# ${YAML_CPP_INCLUDE_DIRS}
)
## Declare a C++ executable
add_executable(${PROJECT_NAME}_node src/video_feed_stitcher.cpp)
add_executable(image_rotator_node src/image_rotate.cpp)
add_executable(tf_mat_node utils/tf_mat.cpp)
add_executable(homography_calc_node utils/homography_calc.cpp)
add_executable(normal_calc utils/normal_calc.cpp)
add_executable(multi_plane_stitcher_node src/multi_plane_stitcher.cpp)
## Add cmake target dependencies of the executable
add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(image_rotator_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(tf_mat_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(homography_calc_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(normal_calc ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(multi_plane_stitcher_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Specify libraries to link a library or executable target against
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
)
target_link_libraries(image_rotator_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
)
target_link_libraries(tf_mat_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
)
target_link_libraries(homography_calc_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
yaml-cpp
)
target_link_libraries(normal_calc
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
)
target_link_libraries(multi_plane_stitcher_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
${PCL_LIBRARIES}
${realsense2_LIBRARY}
)
#############
## Install ##
#############
## Mark cpp header files for installation
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
## Mark executables and/or libraries for installation
install(TARGETS ${PROJECT_NAME}_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS image_rotator_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS tf_mat_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS homography_calc_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS normal_calc
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS multi_plane_stitcher_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
# ## Mark other files for installation (e.g., launch and bag files, etc.)
# install(DIRECTORY launch
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# )