From 9d92be5d8ceb3a358f4e0a44b829a447c8d31217 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 | 132 +++++------------------------------ ur_kinematics/package.xml | 43 ++---------- 2 files changed, 24 insertions(+), 151 deletions(-) diff --git a/ur_kinematics/CMakeLists.txt b/ur_kinematics/CMakeLists.txt index e6e5b40..2efac45 100644 --- a/ur_kinematics/CMakeLists.txt +++ b/ur_kinematics/CMakeLists.txt @@ -1,76 +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 - DEPENDS 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") @@ -79,35 +30,24 @@ 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 ## ############# -install(TARGETS ur5_kin ur10_kin +install(TARGETS ur5_kin ur10_kin ur5_moveit_plugin ur10_moveit_plugin ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} @@ -118,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 2891b86..2df7766 100644 --- a/ur_kinematics/package.xml +++ b/ur_kinematics/package.xml @@ -3,47 +3,18 @@ <name>ur_kinematics</name> <version>1.0.2</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