Port to Melodic.
authorWalter Fetter Lages <w.fetter@ieee.org>
Wed, 12 Dec 2018 13:35:20 +0000 (11:35 -0200)
committerWalter Fetter Lages <w.fetter@ieee.org>
Wed, 12 Dec 2018 13:35:20 +0000 (11:35 -0200)
CMakeLists.txt
package.xml

index b1800bb..fafbdee 100644 (file)
@@ -1,22 +1,26 @@
 cmake_minimum_required(VERSION 2.8.3)
 project(pid_plus_gravity_controller)
 
+## Compile as C++11, supported in ROS Kinetic and newer
+add_compile_options(-std=c++11)
+
 ## 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
-       controller_interface
-       control_msgs
-       urdf
+  cmake_modules
+  control_msgs
+  controller_interface
+  kdl_parser
+#  orocos_kdl
+  trajectory_msgs
+  urdf
 )
-find_package(cmake_modules REQUIRED)
 
 ## System dependencies are found with CMake's conventions
 # find_package(Boost REQUIRED COMPONENTS system)
-find_package(Eigen REQUIRED)
+find_package(cmake_modules REQUIRED)
 find_package(orocos_kdl REQUIRED)
-find_package(kdl_parser REQUIRED)
-
 
 ## Uncomment this if the package has a setup.py. This macro ensures
 ## modules and global scripts declared therein get installed
@@ -32,11 +36,11 @@ find_package(kdl_parser REQUIRED)
 ## * Let MSG_DEP_SET be the set of packages whose message types you use in
 ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
 ## * In the file package.xml:
-##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
-##   * If MSG_DEP_SET isn't empty the following dependencies might have been
-##     pulled in transitively but can be declared for certainty nonetheless:
-##     * add a build_depend tag for "message_generation"
-##     * add a run_depend tag for "message_runtime"
+##   * add a build_depend tag for "message_generation"
+##   * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
+##   * If MSG_DEP_SET isn't empty the following dependency has been pulled in
+##     but can be declared for certainty nonetheless:
+##     * add a exec_depend tag for "message_runtime"
 ## * In this file (CMakeLists.txt):
 ##   * add "message_generation" and every package in MSG_DEP_SET to
 ##     find_package(catkin REQUIRED COMPONENTS ...)
@@ -71,7 +75,27 @@ find_package(kdl_parser REQUIRED)
 ## Generate added messages and services with any dependencies listed here
 # generate_messages(
 #   DEPENDENCIES
-#   std_msgs  # Or other packages containing msgs
+#   control_msgs#   trajectory_msgs
+# )
+
+################################################
+## Declare ROS dynamic reconfigure parameters ##
+################################################
+
+## To declare and build dynamic reconfigure parameters within this
+## package, follow these steps:
+## * In the file package.xml:
+##   * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
+## * In this file (CMakeLists.txt):
+##   * add "dynamic_reconfigure" to
+##     find_package(catkin REQUIRED COMPONENTS ...)
+##   * uncomment the "generate_dynamic_reconfigure_options" section below
+##     and list every .cfg file to be processed
+
+## Generate dynamic reconfigure parameters in the 'cfg' folder
+# generate_dynamic_reconfigure_options(
+#   cfg/DynReconf1.cfg
+#   cfg/DynReconf2.cfg
 # )
 
 ###################################
@@ -79,16 +103,15 @@ find_package(kdl_parser REQUIRED)
 ###################################
 ## The catkin_package macro generates cmake config files for your package
 ## Declare things to be passed to dependent projects
-## INCLUDE_DIRS: uncomment this if you package contains header files
+## INCLUDE_DIRS: uncomment this if your package contains header files
 ## 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 ${PROJECT_NAME}
-   CATKIN_DEPENDS controller_interface control_msgs urdf
-#  DEPENDS system_lib
-   DEPENDS eigen orocos_kdl kdl_parser
+  LIBRARIES pid_plus_gravity_controller
+  CATKIN_DEPENDS cmake_modules control_msgs controller_interface kdl_parser trajectory_msgs urdf
+  DEPENDS orocos_kdl
 )
 
 ###########
@@ -97,28 +120,41 @@ catkin_package(
 
 ## Specify additional locations of header files
 ## Your package locations should be listed before other locations
-include_directories(include
+include_directories(
+ include
   ${catkin_INCLUDE_DIRS}
-  ${Eigen_INCLUDE_DIRS}
+  ${orocos_kdl_INCLUDE_DIRS}
 )
 
-## Declare a cpp library
-add_library(pid_plus_gravity_controller
+## Declare a C++ library
+add_library(${PROJECT_NAME}
   src/pid_plus_gravity_controller.cpp
 )
 
-## Declare a cpp executable
-# add_executable(pid_plus_gravity_controller_node src/pid_plus_gravity_controller_node.cpp)
+## Add cmake target dependencies of the library
+## as an example, code may need to be generated before libraries
+## either from message generation or dynamic reconfigure
+# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
+
+## Declare a C++ executable
+## With catkin_make all packages are built within a single CMake context
+## The recommended prefix ensures that target names across packages don't collide
+# add_executable(${PROJECT_NAME}_node src/pid_plus_gravity_controller_node.cpp)
+
+## Rename C++ executable without prefix
+## The above recommended prefix causes long target names, the following renames the
+## target back to the shorter version for ease of user use
+## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
+# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
 
-## Add cmake target dependencies of the executable/library
-## as an example, message headers may need to be generated before nodes
-# add_dependencies(pid_plus_gravity_controller_node pid_plus_gravity_controller_generate_messages_cpp)
+## Add cmake target dependencies of the executable
+## same as for the library above
+# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
 
 ## Specify libraries to link a library or executable target against
 target_link_libraries(${PROJECT_NAME}
-  ${catkin_LIBRARIES}
-  ${orocos_kdl_LIBRARIES}
-  ${kdl_parser_LIBRARIES}
+   ${catkin_LIBRARIES}
+   ${orocos_kdl_LIBRARIES}
 )
 
 #############
index 650270b..fab1600 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0"?>
-<package>
+<package format="2">
   <name>pid_plus_gravity_controller</name>
-  <version>1.0.0</version>
+  <version>1.0.1</version>
   <description>The pid_plus_gravity_controller package</description>
 
-  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
+  <!-- One maintainer tag required, multiple allowed, one person per tag -->
   <!-- Example:  -->
   <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
   <maintainer email="fetter@ece.ufrgs.br">Walter Fetter Lages</maintainer>
   <license>GPLv3</license>
 
 
-  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+  <!-- Url tags are optional, but multiple are allowed, one per tag -->
   <!-- Optional attribute type can be: website, bugtracker, or repository -->
   <!-- Example: -->
   <!-- <url type="website">http://wiki.ros.org/pid_plus_gravity_controller</url> -->
 
 
-  <!-- Author tags are optional, mutiple are allowed, one per tag -->
-  <!-- Authors do not have to be maintianers, but could be -->
+  <!-- Author tags are optional, multiple are allowed, one per tag -->
+  <!-- Authors do not have to be maintainers, but could be -->
   <!-- Example: -->
   <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
   <author email="fetter@ece.ufrgs.br">Walter Fetter Lages</author>
 
-  <!-- The *_depend tags are used to specify dependencies -->
+
+  <!-- The *depend tags are used to specify dependencies -->
   <!-- Dependencies can be catkin packages or system dependencies -->
   <!-- Examples: -->
+  <!-- Use depend as a shortcut for packages that are both build and exec dependencies -->
+  <!--   <depend>roscpp</depend> -->
+  <!--   Note that this is equivalent to the following: -->
+  <!--   <build_depend>roscpp</build_depend> -->
+  <!--   <exec_depend>roscpp</exec_depend> -->
   <!-- Use build_depend for packages you need at compile time: -->
   <!--   <build_depend>message_generation</build_depend> -->
+  <!-- Use build_export_depend for packages you need in order to build against this package: -->
+  <!--   <build_export_depend>message_generation</build_export_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 exec_depend for packages you need at runtime: -->
+  <!--   <exec_depend>message_runtime</exec_depend> -->
   <!-- Use test_depend for packages you need only for testing: -->
   <!--   <test_depend>gtest</test_depend> -->
+  <!-- Use doc_depend for packages you need only for building documentation: -->
+  <!--   <doc_depend>doxygen</doc_depend> -->
   <buildtool_depend>catkin</buildtool_depend>
-  
+  <build_depend>cmake_modules</build_depend>
+  <build_depend>control_msgs</build_depend>
   <build_depend>controller_interface</build_depend>
-  <build_depend>orocos_kdl</build_depend>
   <build_depend>kdl_parser</build_depend>
+  <build_depend>orocos_kdl</build_depend>
   <build_depend>trajectory_msgs</build_depend>
-  <build_depend>control_msgs</build_depend>
   <build_depend>urdf</build_depend>
-  <build_depend>cmake_modules</build_depend>
-  
-  <run_depend>controller_interface</run_depend>
-  <run_depend>controller_manager</run_depend>
-  <run_depend>control_msgs</run_depend>
-  <run_depend>urdf</run_depend>
-  <run_depend>kdl_parser</run_depend>
+  <build_export_depend>cmake_modules</build_export_depend>
+  <build_export_depend>control_msgs</build_export_depend>
+  <build_export_depend>controller_interface</build_export_depend>
+  <build_export_depend>kdl_parser</build_export_depend>
+  <build_export_depend>orocos_kdl</build_export_depend>
+  <build_export_depend>trajectory_msgs</build_export_depend>
+  <build_export_depend>urdf</build_export_depend>
+  <exec_depend>cmake_modules</exec_depend>
+  <exec_depend>control_msgs</exec_depend>
+  <exec_depend>controller_interface</exec_depend>
+  <exec_depend>kdl_parser</exec_depend>
+  <exec_depend>orocos_kdl</exec_depend>
+  <exec_depend>trajectory_msgs</exec_depend>
+  <exec_depend>urdf</exec_depend>
+
 
   <!-- The export tag contains other, unspecified, tags -->
   <export>
-    <!-- You can specify that this package is a metapackage here: -->
-    <!-- <metapackage/> -->
-
     <!-- Other tools can request additional information be placed here -->
     <controller_interface plugin="${prefix}/pid_plus_gravity_controller_plugins.xml"/>
   </export>