forked from nbbrooks/reach
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
136 lines (122 loc) · 2.72 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
cmake_minimum_required(VERSION 2.8.3)
project(moveit_reach_plugins)
add_compile_options(-std=c++11)
find_package(catkin REQUIRED COMPONENTS
eigen_conversions
interactive_markers
moveit_core
moveit_msgs
moveit_ros_planning_interface
pluginlib
reach_core
reach_msgs
visualization_msgs
xmlrpcpp
)
catkin_package(
INCLUDE_DIRS
include
LIBRARIES
${PROJECT_NAME}_utils
evaluation_plugins
ik_solver_plugins
reach_display_plugins
CATKIN_DEPENDS
eigen_conversions
interactive_markers
moveit_core
moveit_msgs
moveit_ros_planning_interface
reach_core
reach_msgs
pluginlib
visualization_msgs
xmlrpcpp
)
###########
## BUILD ##
###########
include_directories(
include
${catkin_INCLUDE_DIRS}
)
# Utils Library
add_library(${PROJECT_NAME}_utils
src/utils.cpp
)
add_dependencies(${PROJECT_NAME}_utils
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
)
target_link_libraries(${PROJECT_NAME}_utils
${catkin_LIBRARIES}
)
# Evaluation Plugins
add_library(evaluation_plugins
src/evaluation/manipulability_moveit.cpp
src/evaluation/joint_penalty_moveit.cpp
src/evaluation/distance_penalty_moveit.cpp
)
add_dependencies(evaluation_plugins
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
)
target_link_libraries(evaluation_plugins
${catkin_LIBRARIES}
${PROJECT_NAME}_utils
)
# MoveIt IK Solver Plugin
add_library(ik_solver_plugins
src/ik/moveit_ik_solver.cpp
src/ik/discretized_moveit_ik_solver.cpp
)
add_dependencies(ik_solver_plugins
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
)
target_link_libraries(ik_solver_plugins
${catkin_LIBRARIES}
${PROJECT_NAME}_utils
)
# MoveIt Reach Display Plugin
add_library(reach_display_plugins
src/display/moveit_reach_display.cpp
)
add_dependencies(reach_display_plugins
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
)
target_link_libraries(reach_display_plugins
${catkin_LIBRARIES}
${PROJECT_NAME}_utils
)
# IK Plugin Test
add_executable(ik_plugin_test
test/plugin_test_node.cpp
)
add_dependencies(ik_plugin_test
${${PROJECT_NAME}_EXPORTED_TARGETS}
${catkin_EXPORTED_TARGETS}
)
target_link_libraries(ik_plugin_test
${catkin_LIBRARIES}
)
#############
## INSTALL ##
#############
install(
TARGETS
${PROJECT_NAME}_utils
evaluation_plugins
ik_solver_plugins
reach_display_plugins
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(FILES plugin_description.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)