From e50a44d53b1a503ed03b164db1309b112ab04b6d Mon Sep 17 00:00:00 2001
From: gavanderhoorn <g.a.vanderhoorn@tudelft.nl>
Date: Sun, 21 Sep 2014 08:14:33 +0200
Subject: [PATCH] kinematics: fixup build script and manifest (dependencies).
 Fix #113.

Removes the boilerplate comments, unnecessary link_directories()
and fixes up the dependency declaration (proper catkin and system
dep listing) in CMakeLists.txt.

Related changes are made to the manifest.

Note: catkin_lint still complains about 'boost' being unconfigured,
      but this seems to be due to a difference in capitalisation
      between the CMake Findscript and the rosdep entry.
---
 ur_kinematics/CMakeLists.txt | 129 +++++------------------------------
 ur_kinematics/package.xml    |  43 ++----------
 2 files changed, 23 insertions(+), 149 deletions(-)

diff --git a/ur_kinematics/CMakeLists.txt b/ur_kinematics/CMakeLists.txt
index 3b833e9..2efac45 100644
--- a/ur_kinematics/CMakeLists.txt
+++ b/ur_kinematics/CMakeLists.txt
@@ -1,75 +1,27 @@
 cmake_minimum_required(VERSION 2.8.3)
 project(ur_kinematics)
 
-## Find catkin macros and libraries
-## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
-## is used, also find other catkin packages
-find_package(catkin REQUIRED COMPONENTS roscpp geometry_msgs moveit_core moveit_ros_planning pluginlib tf_conversions)
+find_package(catkin REQUIRED COMPONENTS roscpp geometry_msgs moveit_core
+  moveit_ros_planning pluginlib tf_conversions)
 
-## System dependencies are found with CMake's conventions
 find_package(Boost REQUIRED COMPONENTS system)
 
-## Uncomment this if the package has a setup.py. This macro ensures
-## modules and global scripts declared therein get installed
-## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
-# catkin_python_setup()
-
-#######################################
-## Declare ROS messages and services ##
-#######################################
-
-## Generate messages in the 'msg' folder
-# add_message_files(
-#   FILES
-#   Message1.msg
-#   Message2.msg
-# )
-
-## Generate services in the 'srv' folder
-# add_service_files(
-#   FILES
-#   Service1.srv
-#   Service2.srv
-# )
-
-## Generate added messages and services with any dependencies listed here
-# generate_messages(
-#   DEPENDENCIES
-#   std_msgs  # Or other packages containing msgs
-# )
-
-###################################
-## catkin specific configuration ##
-###################################
-## The catkin_package macro generates cmake config files for your package
-## Declare things to be passed to dependent projects
-## LIBRARIES: libraries you create in this project that dependent projects also need
-## CATKIN_DEPENDS: catkin_packages dependent projects also need
-## DEPENDS: system dependencies of this project that dependent projects also need
 catkin_package(
   INCLUDE_DIRS include
   LIBRARIES ur10_kin ur5_kin ur10_moveit_plugin ur5_moveit_plugin
-  CATKIN_DEPENDS pluginlib moveit_core
-#  CATKIN_DEPENDS other_catkin_pkg
-#  DEPENDS system_lib
+  CATKIN_DEPENDS roscpp geometry_msgs moveit_core moveit_ros_planning
+    pluginlib tf_conversions
+  DEPENDS boost
 )
 
+
 ###########
 ## Build ##
 ###########
 
-## Specify additional locations of header files
-## Your package locations should be listed before other locations
 include_directories(SYSTEM ${Boost_INCLUDE_DIR})
 include_directories(include ${catkin_INCLUDE_DIRS})
 
-link_directories(${Boost_LIBRARY_DIRS})
-link_directories(${catkin_LIBRARY_DIRS})
-
-## Declare a cpp library
-# add_library(ur_kinematics
-#   src/${PROJECT_NAME}/ur_kinematics.cpp
-# )
 add_library(ur10_kin src/ur_kin.cpp)
 set_target_properties(ur10_kin PROPERTIES COMPILE_DEFINITIONS "UR10_PARAMS")
 
@@ -78,29 +30,18 @@ set_target_properties(ur5_kin PROPERTIES COMPILE_DEFINITIONS "UR5_PARAMS")
 
 add_library(ur10_moveit_plugin src/ur_moveit_plugin.cpp)
 set_target_properties(ur10_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR10_PARAMS")
-target_link_libraries(ur10_moveit_plugin 
-    ${catkin_LIBRARIES} 
-    ${Boost_LIBRARIES}
-    ur10_kin)
+target_link_libraries(ur10_moveit_plugin
+  ${catkin_LIBRARIES}
+  ${Boost_LIBRARIES}
+  ur10_kin)
 
 add_library(ur5_moveit_plugin src/ur_moveit_plugin.cpp)
 set_target_properties(ur5_moveit_plugin PROPERTIES COMPILE_DEFINITIONS "UR5_PARAMS")
-target_link_libraries(ur5_moveit_plugin 
-    ${catkin_LIBRARIES} 
-    ${Boost_LIBRARIES}
-    ur5_kin)
-
-## Declare a cpp executable
-# add_executable(ur_kinematics_node src/ur_kinematics_node.cpp)
-
-## Add cmake target dependencies of the executable/library
-## as an example, message headers may need to be generated before nodes
-# add_dependencies(ur_kinematics_node ur_kinematics_generate_messages_cpp)
+target_link_libraries(ur5_moveit_plugin
+  ${catkin_LIBRARIES}
+  ${Boost_LIBRARIES}
+  ur5_kin)
 
-## Specify libraries to link a library or executable target against
-# target_link_libraries(ur_kinematics_node
-#   ${catkin_LIBRARIES}
-# )
 
 #############
 ## Install ##
@@ -117,45 +58,7 @@ install(DIRECTORY include/${PROJECT_NAME}/
   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
 )
 
-# all install targets should use catkin DESTINATION variables
-# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
-
-## Mark executable scripts (Python etc.) for installation
-## in contrast to setup.py, you can choose the destination
-# install(PROGRAMS
-#   scripts/my_python_script
-#   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark executables and/or libraries for installation
-# install(TARGETS ur_kinematics ur_kinematics_node
-#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark cpp header files for installation
-# install(DIRECTORY include/${PROJECT_NAME}/
-#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-#   FILES_MATCHING PATTERN "*.h"
-#   PATTERN ".svn" EXCLUDE
-# )
-
-## Mark other files for installation (e.g. launch and bag files, etc.)
-install(FILES
-    ur_moveit_plugins.xml
+# install moveit plugin description file
+install(FILES ur_moveit_plugins.xml
   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
 )
-
-#############
-## Testing ##
-#############
-
-## Add gtest based cpp test target and link libraries
-# catkin_add_gtest(${PROJECT_NAME}-test test/test_ur_kinematics.cpp)
-# if(TARGET ${PROJECT_NAME}-test)
-#   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
-# endif()
-
-## Add folders to be run by python nosetests
-# catkin_add_nosetests(test)
diff --git a/ur_kinematics/package.xml b/ur_kinematics/package.xml
index a0a2aaf..2216dcd 100644
--- a/ur_kinematics/package.xml
+++ b/ur_kinematics/package.xml
@@ -3,47 +3,18 @@
   <name>ur_kinematics</name>
   <version>1.0.4</version>
   <description>
-     Provides forward and inverse kinematics for Universal robot designs.
+     Provides forward and inverse kinematics for Universal Robots designs.
      See http://hdl.handle.net/1853/50782 for details.
   </description>
 
-  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
-  <!-- Example:  -->
-  <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
+  <maintainer email="aub@ipa.fhg.de">Alexander Bubeck</maintainer>
   <maintainer email="kphawkins@gatech.edu">Kelsey Hawkins</maintainer>
-
-
-  <!-- One license tag required, multiple allowed, one license per tag -->
-  <!-- Commonly used license strings: -->
-  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
   <license>BSD</license>
-
-
-  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
-  <!-- Optional attribute type can be: website, bugtracker, or repository -->
-  <!-- Example: -->
-  <!-- <url type="website">http://ros.org/wiki/ur_kinematics</url> -->
-
-
-  <!-- Author tags are optional, mutiple are allowed, one per tag -->
-  <!-- Authors do not have to be maintianers, but could be -->
-  <!-- Example: -->
-  <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
+  <url type="website">http://wiki.ros.org/ur_kinematics</url>
+  <url type="bugtracker">https://github.com/ros-industrial/universal_robot/issues</url>
+  <url type="repository">https://github.com/ros-industrial/universal_robot</url>
   <author email="kphawkins@gatech.edu">Kelsey Hawkins</author>
 
-
-  <!-- The *_depend tags are used to specify dependencies -->
-  <!-- Dependencies can be catkin packages or system dependencies -->
-  <!-- Examples: -->
-  <!-- Use build_depend for packages you need at compile time: -->
-  <!--   <build_depend>message_generation</build_depend> -->
-  <!-- Use buildtool_depend for build tool packages: -->
-  <!--   <buildtool_depend>catkin</buildtool_depend> -->
-  <!-- Use run_depend for packages you need at runtime: -->
-  <!--   <run_depend>message_runtime</run_depend> -->
-  <!-- Use test_depend for packages you need only for testing: -->
-  <!--   <test_depend>gtest</test_depend> -->
-
   <buildtool_depend>catkin</buildtool_depend>
 
   <build_depend>moveit_core</build_depend>
@@ -52,6 +23,7 @@
   <build_depend>geometry_msgs</build_depend>
   <build_depend>pluginlib</build_depend>
   <build_depend>tf_conversions</build_depend>
+  <build_depend>boost</build_depend>
 
   <run_depend>moveit_core</run_depend>
   <run_depend>moveit_ros_planning</run_depend>
@@ -59,9 +31,8 @@
   <run_depend>geometry_msgs</run_depend>
   <run_depend>pluginlib</run_depend>
   <run_depend>tf_conversions</run_depend>
+  <run_depend>boost</run_depend>
 
-
-  <!-- The export tag contains other, unspecified, tags -->
   <export>
     <moveit_core plugin="${prefix}/ur_moveit_plugins.xml"/>
   </export>
-- 
GitLab