1+ #catkin_lint: ignore duplicate_cmd
2+ #catkin_lint: ignore uninstalled_export_lib
13cmake_minimum_required (VERSION 2.8.3)
24project (ca_gazebo)
35
@@ -17,22 +19,23 @@ find_package(catkin REQUIRED
1719 tf2_ros
1820)
1921
20- set (trajectory_actor_plugin_name TrajectoryActorPlugin)
21-
22- ###################################
23- ## catkin specific configuration ##
24- ###################################
22+ set (SERVICESIM_PLUGIN_LIST
23+ AttachModelPlugin
24+ CollisionActorPlugin
25+ FollowActorPlugin
26+ TrajectoryActorPlugin
27+ VicinityPlugin
28+ )
2529
26- catkin_package(
27- INCLUDE_DIRS include
28- LIBRARIES
29- create_bumper_plugin
30- model_pose_publisher_plugin
31- traffic_light_plugin
32- ${trajectory_actor_plugin_name}
33- world_time_publisher
34- CATKIN_DEPENDS
35- ca_msgs
30+ set (PLUGIN_LIST
31+ cliff_msg_publisher
32+ create_bumper_plugin
33+ create_cliff_plugin
34+ create_virtual_wall_plugin
35+ model_pose_publisher_plugin
36+ traffic_light_plugin
37+ virtual_wall_detector
38+ world_time_publisher
3639)
3740
3841###########
@@ -45,150 +48,55 @@ include_directories(
4548 ${GAZEBO_INCLUDE_DIRS}
4649)
4750
48- #############################
49- ## Trajectory Actor plugin ##
50- #############################
51+ ########################
52+ ## ServiceSim plugins ##
53+ ########################
5154
52- # Create the libTrajectoryActorPlugin.so library.
53- add_library (${trajectory_actor_plugin_name} SHARED
54- src/servicesim/TrajectoryActorPlugin.cc
55- )
56- target_link_libraries (${trajectory_actor_plugin_name}
57- ${GAZEBO_LIBRARIES}
58- ${catkin_LIBRARIES}
59- )
60- install (TARGETS ${trajectory_actor_plugin_name}
61- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
62- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
63- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
64- )
55+ foreach (PLUGIN ${SERVICESIM_PLUGIN_LIST} )
56+ catkin_package(
57+ INCLUDE_DIRS include
58+ LIBRARIES ${PLUGIN}
59+ CATKIN_DEPENDS ca_msgs
60+ )
6561
66- #############################
67- ## Follow Actor plugin ##
68- #############################
62+ add_library (${PLUGIN} SHARED src/servicesim/${PLUGIN} .cc)
6963
70- # Create the libFollowActorPlugin.so library.
71- set (follow_actor_plugin_name FollowActorPlugin)
72- add_library (${follow_actor_plugin_name} SHARED
73- src/servicesim/FollowActorPlugin.cc
74- )
75- add_dependencies (${follow_actor_plugin_name}
76- ${catkin_EXPORTED_TARGETS}
77- )
78- target_link_libraries (${follow_actor_plugin_name}
79- ${GAZEBO_LIBRARIES}
80- ${roscpp_LIBRARIES}
81- ${catkin_LIBRARIES}
82- )
83- install (TARGETS ${follow_actor_plugin_name}
84- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
85- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
86- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
87- )
64+ add_dependencies (${PLUGIN} ${catkin_EXPORTED_TARGETS} )
8865
89- #############################
90- ## Collision Actor plugin ##
91- #############################
66+ target_link_libraries (${PLUGIN}
67+ ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
9268
93- # Create the libCollisionActorPlugin.so library.
94- set (collision_actor_plugin_name CollisionActorPlugin)
95- add_library (${collision_actor_plugin_name} SHARED
96- src/servicesim/CollisionActorPlugin.cc
97- )
98- target_link_libraries (${collision_actor_plugin_name}
99- ${GAZEBO_LIBRARIES}
100- ${roscpp_LIBRARIES}
101- )
102- install (TARGETS ${collision_actor_plugin_name}
103- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
104- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
105- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
106- )
69+ install (TARGETS ${PLUGIN}
70+ ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
71+ LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
72+ RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
73+ )
74+ endforeach ()
10775
108- #############################
109- ## Attach Model plugin ##
110- #############################
76+ ###################################
77+ ###### iRobot Create plugins #### ##
78+ ###################################
11179
112- # Create the libAttachModelPlugin.so library.
113- set (attach_model_plugin_name AttachModelPlugin)
114- add_library (${attach_model_plugin_name} SHARED
115- src/servicesim/AttachModelPlugin.cc
116- )
117- target_link_libraries (${attach_model_plugin_name}
118- ${GAZEBO_LIBRARIES}
119- ${roscpp_LIBRARIES}
120- )
121- install (TARGETS ${attach_model_plugin_name}
122- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
123- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
124- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
125- )
80+ foreach (PLUGIN ${PLUGIN_LIST} )
81+ catkin_package(
82+ INCLUDE_DIRS include
83+ LIBRARIES ${PLUGIN}
84+ CATKIN_DEPENDS ca_msgs
85+ )
12686
127- #############################
128- ###### Vicinity plugin ######
129- #############################
87+ add_library (${PLUGIN} src/${PLUGIN} .cpp)
13088
131- # Create the libVicinityPlugin.so library.
132- set (vicinity_plugin_name VicinityPlugin)
133- add_library (${vicinity_plugin_name} SHARED
134- src/servicesim/VicinityPlugin.cc
135- )
136- add_dependencies (${vicinity_plugin_name}
137- ${catkin_EXPORTED_TARGETS}
138- )
139- target_link_libraries (${vicinity_plugin_name}
140- ${GAZEBO_LIBRARIES}
141- ${catkin_LIBRARIES}
142- )
143- install (TARGETS ${vicinity_plugin_name}
144- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
145- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
146- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
147- )
89+ add_dependencies (${PLUGIN} ${catkin_EXPORTED_TARGETS} )
14890
149- ###################################
150- ###### iRobot Create plugins ######
151- ###################################
91+ target_link_libraries (${PLUGIN}
92+ ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
15293
153- add_library (cliff_msg_publisher src/cliff_msg_publisher.cpp)
154- add_dependencies (cliff_msg_publisher ${catkin_EXPORTED_TARGETS} )
155- target_link_libraries (cliff_msg_publisher
156- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
157-
158- add_library (create_bumper_plugin src/create_bumper_plugin.cpp)
159- add_dependencies (create_bumper_plugin ${catkin_EXPORTED_TARGETS} )
160- target_link_libraries (create_bumper_plugin
161- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
162-
163- add_library (create_cliff_plugin src/create_cliff_plugin.cpp)
164- add_dependencies (create_cliff_plugin ${catkin_EXPORTED_TARGETS} )
165- target_link_libraries (create_cliff_plugin
166- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
167-
168- add_library (create_virtual_wall_plugin src/create_virtual_wall_plugin.cpp)
169- add_dependencies (create_virtual_wall_plugin ${catkin_EXPORTED_TARGETS} )
170- target_link_libraries (create_virtual_wall_plugin
171- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
172-
173- add_library (model_pose_publisher_plugin src/model_pose_publisher_plugin.cpp)
174- add_dependencies (model_pose_publisher_plugin ${catkin_EXPORTED_TARGETS} )
175- target_link_libraries (model_pose_publisher_plugin
176- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
177-
178- add_library (traffic_light_plugin src/traffic_light_plugin.cpp)
179- add_dependencies (traffic_light_plugin ${catkin_EXPORTED_TARGETS} )
180- target_link_libraries (traffic_light_plugin
181- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
182-
183- add_library (virtual_wall_detector src/virtual_wall_detector.cpp)
184- add_dependencies (virtual_wall_detector ${catkin_EXPORTED_TARGETS} )
185- target_link_libraries (virtual_wall_detector
186- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
187-
188- add_library (world_time_publisher src/world_time_publisher.cpp)
189- add_dependencies (world_time_publisher ${catkin_EXPORTED_TARGETS} )
190- target_link_libraries (world_time_publisher
191- ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} )
94+ install (TARGETS ${TARGET}
95+ ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
96+ LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
97+ RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
98+ )
99+ endforeach ()
192100
193101#############
194102## Install ##
@@ -206,20 +114,6 @@ install(DIRECTORY include/${PROJECT_NAME}/
206114 DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
207115)
208116
209- install (TARGETS
210- cliff_msg_publisher
211- create_bumper_plugin
212- create_cliff_plugin
213- create_virtual_wall_plugin
214- model_pose_publisher_plugin
215- traffic_light_plugin
216- virtual_wall_detector
217- world_time_publisher
218- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
219- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
220- RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
221- )
222-
223117install (DIRECTORY scripts
224118 DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
225119 USE_SOURCE_PERMISSIONS
0 commit comments