-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
164 lines (149 loc) · 4.06 KB
/
CMakeLists.txt
File metadata and controls
164 lines (149 loc) · 4.06 KB
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
158
159
160
161
162
163
164
cmake_minimum_required(VERSION 3.8)
project(moveit2_scripts)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(moveit_core REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(moveit_ros_planning_interface REQUIRED)
find_package(interactive_markers REQUIRED)
find_package(geometric_shapes REQUIRED)
find_package(control_msgs REQUIRED)
find_package(moveit_msgs REQUIRED)
# Create the library from approach_and_retreat_node.cpp
add_library(approach_and_retreat_lib SHARED src/approach_and_retreat_node.cpp)
add_library(draw_x_lib SHARED src/draw_x_node.cpp)
# Generate the executable
add_executable(test_trajectory
src/test_trajectory.cpp)
add_executable(test_trajectory2
src/test_trajectory2.cpp)
add_executable(test_trajectory3
src/test_trajectory3.cpp)
add_executable(test_gripper
src/test_gripper.cpp)
add_executable(approach_retreat
src/approach_retreat.cpp)
add_executable(draw_x
src/draw_x.cpp)
target_include_directories(test_trajectory
PUBLIC)
target_include_directories(test_trajectory2
PUBLIC)
target_include_directories(test_trajectory3
PUBLIC)
target_include_directories(test_gripper
PUBLIC)
# Specify include directories for the library (if your header files are in the include folder)
target_include_directories(approach_and_retreat_lib PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# Specify include directories for the executable
target_include_directories(approach_retreat PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
target_include_directories(draw_x_lib PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# Specify include directories for the executable
target_include_directories(draw_x PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
ament_target_dependencies(test_trajectory
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
ament_target_dependencies(test_trajectory2
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
ament_target_dependencies(test_trajectory3
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
ament_target_dependencies(test_gripper
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
ament_target_dependencies(approach_and_retreat_lib
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
ament_target_dependencies(draw_x_lib
ament_cmake
rclcpp
rclcpp_action
moveit_core
moveit_ros_planning_interface
interactive_markers
moveit_ros_planning
control_msgs)
# Link the approach_retreat_node executable with the approach_and_retreat_node library
target_link_libraries(approach_retreat approach_and_retreat_lib)
target_link_libraries(draw_x draw_x_lib)
# Install the library
install(TARGETS approach_and_retreat_lib
EXPORT export_${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION)
install(TARGETS draw_x_lib
EXPORT export_${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION)
# Install the executable
install(TARGETS
test_trajectory
test_trajectory2
test_trajectory3
test_gripper
approach_retreat
draw_x
DESTINATION lib/${PROJECT_NAME}
)
# Install header files
install(DIRECTORY include/
DESTINATION include/${PROJECT_NAME}
)
# Install the launch file
install(DIRECTORY
launch
DESTINATION share/${PROJECT_NAME}
)
ament_package()