From a1c9b6a7f98c10d5057e76dec9fd3f58ee6e4aca Mon Sep 17 00:00:00 2001 From: gavanderhoorn Date: Tue, 21 Jan 2014 15:16:50 +0100 Subject: [PATCH 1/3] robot_client: workaround for #46. Fix #67. This is an updated version of the workaround committed in 9df46977. Instead of requiring dependent packages to invoke the function defined in the CFG_EXTRAS cmake snippet, the snippet now sets up the linker path directly. Dependent packages now only need to remember to explicitly list their dependency on `industrial_robot_client` and `simple_message` in their `add_library(..)` statements. --- industrial_robot_client/CMakeLists.txt | 15 +++++++++++++-- .../cmake/issue46_workaround.cmake | 10 ++++++++++ simple_message/CMakeLists.txt | 14 +++++++------- simple_message/cmake/issue46_workaround.cmake | 10 ++++++++++ .../cmake/simple_message_linker_setup.cmake | 9 --------- 5 files changed, 40 insertions(+), 18 deletions(-) create mode 100644 industrial_robot_client/cmake/issue46_workaround.cmake create mode 100644 simple_message/cmake/issue46_workaround.cmake delete mode 100644 simple_message/cmake/simple_message_linker_setup.cmake diff --git a/industrial_robot_client/CMakeLists.txt b/industrial_robot_client/CMakeLists.txt index e9f3d979..95f6298d 100644 --- a/industrial_robot_client/CMakeLists.txt +++ b/industrial_robot_client/CMakeLists.txt @@ -30,6 +30,8 @@ catkin_package( simple_message actionlib_msgs actionlib urdf industrial_msgs industrial_utils INCLUDE_DIRS include + LIBRARIES ${PROJECT_NAME}_dummy + CFG_EXTRAS issue46_workaround.cmake ) @@ -39,8 +41,17 @@ include_directories(include ) -# do some trickery with the linker for simple_message -simple_message_linker_setup() +# generate dummy library (we export it in catkin_package(..)), to force catkin +# to set up LIBRARY_DIRS properly. +# TODO: find out if LIBRARY_DIRS can be exported without dummy library target +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp) +add_library(${PROJECT_NAME}_dummy ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp) +# unfortunately this will have to be installed, but the linker will remove it +# from the library dependencies of dependent targets, as it contains no symbols +# that can be imported from it. +install(TARGETS ${PROJECT_NAME}_dummy DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) # This library depends on the simple_message library, which is available diff --git a/industrial_robot_client/cmake/issue46_workaround.cmake b/industrial_robot_client/cmake/issue46_workaround.cmake new file mode 100644 index 00000000..cab929e4 --- /dev/null +++ b/industrial_robot_client/cmake/issue46_workaround.cmake @@ -0,0 +1,10 @@ +# +# Temporary workaround for issue ros-industrial/industrial_core#46. +# +message(STATUS "industrial_robot_client: work around for #46") +if (DEFINED industrial_robot_client_LIBRARY_DIRS) +else() + message(FATAL_ERROR "industrial_robot_client_LIBRARY_DIRS not set, " + "have you find_package()-ed it?") +endif() +link_directories(${industrial_robot_client_LIBRARY_DIRS}) diff --git a/simple_message/CMakeLists.txt b/simple_message/CMakeLists.txt index 590738a8..e184397b 100644 --- a/simple_message/CMakeLists.txt +++ b/simple_message/CMakeLists.txt @@ -70,8 +70,8 @@ set(UTEST_SRC_FILES test/utest.cpp test/utest_message.cpp) catkin_package( CATKIN_DEPENDS roscpp industrial_msgs INCLUDE_DIRS include - LIBRARIES simple_message_dummy - CFG_EXTRAS simple_message_linker_setup.cmake + LIBRARIES ${PROJECT_NAME}_dummy + CFG_EXTRAS issue46_workaround.cmake ) @@ -81,16 +81,16 @@ include_directories(include # generate dummy library (we export it in catkin_package(..)), to force catkin -# to set up simple_message_LIBRARY_DIRS properly. +# to set up LIBRARY_DIRS properly. # TODO: find out if LIBRARY_DIRS can be exported without dummy library target add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/simple_message_dummy.cpp - COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/simple_message_dummy.cpp) -add_library(simple_message_dummy ${CMAKE_CURRENT_BINARY_DIR}/simple_message_dummy.cpp) + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp) +add_library(${PROJECT_NAME}_dummy ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dummy.cpp) # unfortunately this will have to be installed, but the linker will remove it # from the library dependencies of dependent targets, as it contains no symbols # that can be imported from it. -install(TARGETS simple_message_dummy DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) +install(TARGETS ${PROJECT_NAME}_dummy DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) # NOTE: All test files require TEST_PORT_BASE to be defined. Defining different diff --git a/simple_message/cmake/issue46_workaround.cmake b/simple_message/cmake/issue46_workaround.cmake new file mode 100644 index 00000000..7ddf14be --- /dev/null +++ b/simple_message/cmake/issue46_workaround.cmake @@ -0,0 +1,10 @@ +# +# Temporary workaround for issue ros-industrial/industrial_core#46. +# +message(STATUS "simple_message: work around for #46") +if (DEFINED simple_message_LIBRARY_DIRS) +else() + message(FATAL_ERROR "simple_message_LIBRARY_DIRS not set, " + "have you find_package()-ed it?") +endif() +link_directories(${simple_message_LIBRARY_DIRS}) diff --git a/simple_message/cmake/simple_message_linker_setup.cmake b/simple_message/cmake/simple_message_linker_setup.cmake deleted file mode 100644 index 7b72df66..00000000 --- a/simple_message/cmake/simple_message_linker_setup.cmake +++ /dev/null @@ -1,9 +0,0 @@ - -function(simple_message_linker_setup) - if (DEFINED simple_message_LIBRARY_DIRS) - else() - message(FATAL_ERROR "simple_message_LIBRARY_DIRS not set, " - "have you find_package()-ed it?") - endif() - link_directories(${simple_message_LIBRARY_DIRS}) -endfunction() From 2d36a468cdc6d6ab7ef72960b536a3ce27c76e40 Mon Sep 17 00:00:00 2001 From: Shaun Edwards Date: Tue, 21 Jan 2014 21:46:34 -0500 Subject: [PATCH 2/3] Updated change logs for release --- industrial_core/CHANGELOG.rst | 6 ++++++ industrial_deprecated/CHANGELOG.rst | 5 +++++ industrial_msgs/CHANGELOG.rst | 5 +++++ industrial_robot_client/CHANGELOG.rst | 11 +++++++++++ industrial_robot_simulator/CHANGELOG.rst | 5 +++++ industrial_trajectory_filters/CHANGELOG.rst | 5 +++++ industrial_utils/CHANGELOG.rst | 4 ++++ simple_message/CHANGELOG.rst | 11 +++++++++++ 8 files changed, 52 insertions(+) diff --git a/industrial_core/CHANGELOG.rst b/industrial_core/CHANGELOG.rst index 57abb298..c4f6c758 100644 --- a/industrial_core/CHANGELOG.rst +++ b/industrial_core/CHANGELOG.rst @@ -2,12 +2,18 @@ Changelog for package industrial_core ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Fix `#67 `_. + 0.3.3 (2014-01-13) ------------------ * Fixed build issue due simple message library linking + 0.3.2 (2014-01-10) ------------------ * Removed header from industrial_utils/utils.h (not required) + 0.3.1 (2014-01-09) ------------------ * Added industrial trajectory filters to core meta-package diff --git a/industrial_deprecated/CHANGELOG.rst b/industrial_deprecated/CHANGELOG.rst index f9c6b2a4..8d902d8f 100644 --- a/industrial_deprecated/CHANGELOG.rst +++ b/industrial_deprecated/CHANGELOG.rst @@ -2,9 +2,14 @@ Changelog for package industrial_deprecated ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* No change + 0.3.3 (2014-01-13) ------------------ * No change + 0.3.2 (2014-01-10) ------------------ * No change diff --git a/industrial_msgs/CHANGELOG.rst b/industrial_msgs/CHANGELOG.rst index 813e142b..d478ea7c 100644 --- a/industrial_msgs/CHANGELOG.rst +++ b/industrial_msgs/CHANGELOG.rst @@ -2,9 +2,14 @@ Changelog for package industrial_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* No change + 0.3.3 (2014-01-13) ------------------ * No change + 0.3.2 (2014-01-10) ------------------ * No change diff --git a/industrial_robot_client/CHANGELOG.rst b/industrial_robot_client/CHANGELOG.rst index 5a4c1cbd..6ed7cfe7 100644 --- a/industrial_robot_client/CHANGELOG.rst +++ b/industrial_robot_client/CHANGELOG.rst @@ -2,6 +2,17 @@ Changelog for package industrial_robot_client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* robot_client: workaround for `#46 `_. Fix `#67 `_. + This is an updated version of the workaround committed in 9df46977. Instead + of requiring dependent packages to invoke the function defined in the + CFG_EXTRAS cmake snippet, the snippet now sets up the linker path directly. + Dependent packages now only need to remember to explicitly list their + dependency on `industrial_robot_client` and `simple_message` in their + `add_library(..)` statements. +* Contributors: gavanderhoorn + 0.3.3 (2014-01-13) ------------------ * Fixed build issue due simple message library linking diff --git a/industrial_robot_simulator/CHANGELOG.rst b/industrial_robot_simulator/CHANGELOG.rst index 452e9e9a..b9ce92dd 100644 --- a/industrial_robot_simulator/CHANGELOG.rst +++ b/industrial_robot_simulator/CHANGELOG.rst @@ -2,9 +2,14 @@ Changelog for package industrial_robot_simulator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* No change + 0.3.3 (2014-01-13) ------------------ * No change + 0.3.2 (2014-01-10) ------------------ * Removed header from industrial_utils/utils.h (not required) diff --git a/industrial_trajectory_filters/CHANGELOG.rst b/industrial_trajectory_filters/CHANGELOG.rst index 4822074d..14023871 100644 --- a/industrial_trajectory_filters/CHANGELOG.rst +++ b/industrial_trajectory_filters/CHANGELOG.rst @@ -2,9 +2,14 @@ Changelog for package industrial_trajectory_filters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* No change + 0.3.3 (2014-01-13) ------------------ * No change + 0.3.2 (2014-01-10) ------------------ * Removed header from industrial_utils/utils.h (not required) diff --git a/industrial_utils/CHANGELOG.rst b/industrial_utils/CHANGELOG.rst index 5ce48b6c..a6001add 100644 --- a/industrial_utils/CHANGELOG.rst +++ b/industrial_utils/CHANGELOG.rst @@ -2,6 +2,10 @@ Changelog for package industrial_utils ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* No change + 0.3.3 (2014-01-13) ------------------ * No change diff --git a/simple_message/CHANGELOG.rst b/simple_message/CHANGELOG.rst index 08a17212..e3d2d389 100644 --- a/simple_message/CHANGELOG.rst +++ b/simple_message/CHANGELOG.rst @@ -2,6 +2,17 @@ Changelog for package simple_message ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* robot_client: workaround for `#46 `_. Fix `#67 `_. + This is an updated version of the workaround committed in 9df46977. Instead + of requiring dependent packages to invoke the function defined in the + CFG_EXTRAS cmake snippet, the snippet now sets up the linker path directly. + Dependent packages now only need to remember to explicitly list their + dependency on `industrial_robot_client` and `simple_message` in their + `add_library(..)` statements. +* Contributors: gavanderhoorn + 0.3.3 (2014-01-13) ------------------ * Fixed build issue due simple message library linking From 6a052e97145bd2b81a8e33d9b36b94d79f610106 Mon Sep 17 00:00:00 2001 From: Shaun Edwards Date: Tue, 21 Jan 2014 21:50:42 -0500 Subject: [PATCH 3/3] "0.3.4" --- industrial_core/CHANGELOG.rst | 4 ++-- industrial_core/package.xml | 2 +- industrial_deprecated/CHANGELOG.rst | 4 ++-- industrial_deprecated/package.xml | 2 +- industrial_msgs/CHANGELOG.rst | 4 ++-- industrial_msgs/package.xml | 2 +- industrial_robot_client/CHANGELOG.rst | 4 ++-- industrial_robot_client/package.xml | 2 +- industrial_robot_simulator/CHANGELOG.rst | 4 ++-- industrial_robot_simulator/package.xml | 2 +- industrial_trajectory_filters/CHANGELOG.rst | 4 ++-- industrial_trajectory_filters/package.xml | 2 +- industrial_utils/CHANGELOG.rst | 4 ++-- industrial_utils/package.xml | 2 +- simple_message/CHANGELOG.rst | 4 ++-- simple_message/package.xml | 2 +- 16 files changed, 24 insertions(+), 24 deletions(-) diff --git a/industrial_core/CHANGELOG.rst b/industrial_core/CHANGELOG.rst index c4f6c758..2501c312 100644 --- a/industrial_core/CHANGELOG.rst +++ b/industrial_core/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_core ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * Fix `#67 `_. 0.3.3 (2014-01-13) diff --git a/industrial_core/package.xml b/industrial_core/package.xml index 07bfb9e1..f30901f3 100644 --- a/industrial_core/package.xml +++ b/industrial_core/package.xml @@ -1,6 +1,6 @@ industrial_core - 0.3.3 + 0.3.4 ROS-Industrial core stack contains packages and libraries for supporing industrial systems Shaun Edwards diff --git a/industrial_deprecated/CHANGELOG.rst b/industrial_deprecated/CHANGELOG.rst index 8d902d8f..bceb4fcd 100644 --- a/industrial_deprecated/CHANGELOG.rst +++ b/industrial_deprecated/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_deprecated ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * No change 0.3.3 (2014-01-13) diff --git a/industrial_deprecated/package.xml b/industrial_deprecated/package.xml index a892801a..cd4aa7b1 100644 --- a/industrial_deprecated/package.xml +++ b/industrial_deprecated/package.xml @@ -1,6 +1,6 @@ industrial_deprecated - 0.3.3 + 0.3.4 The Industrial deprecated package contains nodes, launch files, etc... that are slated for deprecation. This package is the last place something will end up before being deleted. diff --git a/industrial_msgs/CHANGELOG.rst b/industrial_msgs/CHANGELOG.rst index d478ea7c..4b1c6db5 100644 --- a/industrial_msgs/CHANGELOG.rst +++ b/industrial_msgs/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * No change 0.3.3 (2014-01-13) diff --git a/industrial_msgs/package.xml b/industrial_msgs/package.xml index ade54cbf..afed762c 100644 --- a/industrial_msgs/package.xml +++ b/industrial_msgs/package.xml @@ -1,6 +1,6 @@ industrial_msgs - 0.3.3 + 0.3.4 The industrial message package containes industrial specific messages definitions. This package is part of the ROS-Industrial program. diff --git a/industrial_robot_client/CHANGELOG.rst b/industrial_robot_client/CHANGELOG.rst index 6ed7cfe7..95a54816 100644 --- a/industrial_robot_client/CHANGELOG.rst +++ b/industrial_robot_client/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_robot_client ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * robot_client: workaround for `#46 `_. Fix `#67 `_. This is an updated version of the workaround committed in 9df46977. Instead of requiring dependent packages to invoke the function defined in the diff --git a/industrial_robot_client/package.xml b/industrial_robot_client/package.xml index 2d8bdd7b..a133c0a6 100644 --- a/industrial_robot_client/package.xml +++ b/industrial_robot_client/package.xml @@ -1,6 +1,6 @@ industrial_robot_client - 0.3.3 + 0.3.4 industrial robot client contains generic clients for connecting to industrial robot controllers with servers that adhere to the simple message protocol. diff --git a/industrial_robot_simulator/CHANGELOG.rst b/industrial_robot_simulator/CHANGELOG.rst index b9ce92dd..a2f1bcc1 100644 --- a/industrial_robot_simulator/CHANGELOG.rst +++ b/industrial_robot_simulator/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_robot_simulator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * No change 0.3.3 (2014-01-13) diff --git a/industrial_robot_simulator/package.xml b/industrial_robot_simulator/package.xml index 6d721fd0..9cd1a915 100644 --- a/industrial_robot_simulator/package.xml +++ b/industrial_robot_simulator/package.xml @@ -1,6 +1,6 @@ industrial_robot_simulator - 0.3.3 + 0.3.4 The industrial robot simulator is a stand in for industrial robot driver node(s). It adheres to the driver specification for industrial robot controllers. Shaun Edwards diff --git a/industrial_trajectory_filters/CHANGELOG.rst b/industrial_trajectory_filters/CHANGELOG.rst index 14023871..9de2ebe3 100644 --- a/industrial_trajectory_filters/CHANGELOG.rst +++ b/industrial_trajectory_filters/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_trajectory_filters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * No change 0.3.3 (2014-01-13) diff --git a/industrial_trajectory_filters/package.xml b/industrial_trajectory_filters/package.xml index 67baf9bf..aaefae78 100644 --- a/industrial_trajectory_filters/package.xml +++ b/industrial_trajectory_filters/package.xml @@ -1,6 +1,6 @@ industrial_trajectory_filters - 0.3.3 + 0.3.4

ROS Industrial libraries/plugins for filtering trajectories. diff --git a/industrial_utils/CHANGELOG.rst b/industrial_utils/CHANGELOG.rst index a6001add..ac151cd7 100644 --- a/industrial_utils/CHANGELOG.rst +++ b/industrial_utils/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package industrial_utils ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * No change 0.3.3 (2014-01-13) diff --git a/industrial_utils/package.xml b/industrial_utils/package.xml index 48006363..4f97335f 100644 --- a/industrial_utils/package.xml +++ b/industrial_utils/package.xml @@ -1,6 +1,6 @@ industrial_utils - 0.3.3 + 0.3.4 Industrial utils is a library package that captures common funcitonality for the ROS-Industrial distribution. Shaun Edwards diff --git a/simple_message/CHANGELOG.rst b/simple_message/CHANGELOG.rst index e3d2d389..5468265d 100644 --- a/simple_message/CHANGELOG.rst +++ b/simple_message/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package simple_message ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +0.3.4 (2014-01-21) +------------------ * robot_client: workaround for `#46 `_. Fix `#67 `_. This is an updated version of the workaround committed in 9df46977. Instead of requiring dependent packages to invoke the function defined in the diff --git a/simple_message/package.xml b/simple_message/package.xml index 7f9f2580..97a42b96 100644 --- a/simple_message/package.xml +++ b/simple_message/package.xml @@ -1,6 +1,6 @@ simple_message - 0.3.3 + 0.3.4 simple_message defines a simple messaging connection and protocol for communicating with an industrial robot controller. Additional handler and manager classes are