-
Notifications
You must be signed in to change notification settings - Fork 1
/
CMakeLists.txt
153 lines (127 loc) · 3.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
cmake_minimum_required(VERSION 3.4)
project(franka_gripper)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
message_generation
control_msgs
actionlib
sensor_msgs
xmlrpcpp
actionlib_msgs
moveit_core
moveit_ros_planning
moveit_ros_planning_interface
moveit_msgs
rviz_visual_tools
moveit_visual_tools
robot_state_publisher
joint_state_publisher
std_msgs
)
find_package(Franka 0.7.0 REQUIRED)
add_action_files(
DIRECTORY action
FILES Grasp.action
Homing.action
Stop.action
Move.action
)
add_message_files(
DIRECTORY msg
FILES GraspEpsilon.msg
)
generate_messages(DEPENDENCIES actionlib_msgs)
catkin_package(
INCLUDE_DIRS include
LIBRARIES franka_gripper
CATKIN_DEPENDS roscpp
message_runtime
control_msgs
actionlib
sensor_msgs
xmlrpcpp
actionlib_msgs
DEPENDS Franka
)
add_library(franka_gripper
src/franka_gripper.cpp
)
add_dependencies(franka_gripper
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
${PROJECT_NAME}_generate_messages_cpp
)
target_link_libraries(franka_gripper
${Franka_LIBRARIES}
${catkin_LIBRARIES}
)
target_include_directories(franka_gripper SYSTEM PUBLIC
${Franka_INCLUDE_DIRS}
${catkin_INCLUDE_DIRS}
)
target_include_directories(franka_gripper PUBLIC
include
)
add_executable(franka_gripper_node src/franka_gripper_node.cpp)
add_dependencies(franka_gripper_node
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
franka_gripper
)
target_link_libraries(franka_gripper_node
${catkin_LIBRARIES}
franka_gripper
)
target_include_directories(franka_gripper_node SYSTEM PUBLIC
${catkin_INCLUDE_DIRS}
)
add_executable(franka_gripper_client src/franka_gripper_client.cpp)
target_link_libraries(franka_gripper_client
${catkin_LIBRARIES}
franka_gripper
)
add_dependencies(franka_gripper_client
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
franka_gripper
)
target_include_directories(franka_gripper_client SYSTEM PUBLIC
${catkin_INCLUDE_DIRS}
${Franka_LIBRARIES}
)
## Installation
install(TARGETS franka_gripper
franka_gripper_node
franka_gripper_client
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
install(DIRECTORY launch
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY config
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
## Tools
include(${CMAKE_CURRENT_LIST_DIR}/../cmake/ClangTools.cmake OPTIONAL
RESULT_VARIABLE CLANG_TOOLS
)
if(CLANG_TOOLS)
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
file(GLOB_RECURSE HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/include/*.h
${CMAKE_CURRENT_SOURCE_DIR}/src/*.h
)
add_format_target(franka_gripper FILES ${SOURCES} ${HEADERS})
add_tidy_target(franka_gripper
FILES ${SOURCES}
DEPENDS franka_gripper franka_gripper_node franka_gripper_client
)
endif()