diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e332b6a..1187892f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,8 +204,9 @@ if(WITH_ROS_SUPPORT) get_property(DIR GLOBAL PROPERTY CATKIN_WORKSPACE_${ID}_DIR) if(ROS_IS_ROS2) set(ROS_SETUP_PATH "${DIR}/install/setup${RC_EXT}") - set(FINAL_COMMAND "${FINAL_COMMAND} -export ROS_LOCALHOST_ONLY=1") + set(FINAL_COMMAND "${FINAL_COMMAND} +export ROS_LOCALHOST_ONLY=1" + ) else() set(ROS_SETUP_PATH "${DIR}/devel/setup${RC_EXT}") endif() diff --git a/robots/Kinova.cmake b/robots/Kinova.cmake new file mode 100644 index 00000000..2fbc8ce6 --- /dev/null +++ b/robots/Kinova.cmake @@ -0,0 +1,38 @@ +option(WITH_Kinova "Build Kinova support" OFF) + +if(NOT WITH_Kinova) + return() +endif() + +if(NOT WITH_ROS_SUPPORT) + message(FATAL_ERROR "ROS support is required to use the Kinova robot") +endif() + +if(ROS_IS_ROS2) + AptInstall( + ros-${ROS_DISTRO}-kortex-api ros-${ROS_DISTRO}-kortex-bringup + ros-${ROS_DISTRO}-kortex-description ros-${ROS_DISTRO}-kortex-driver + ) + + AddProject( + mc_kinova + GITHUB mathieu-celerier/mc_kinova + GIT_TAG origin/main + APT_PACKAGES mc_rtc ros-${ROS_DISTRO}-kortex-api ros-${ROS_DISTRO}-kortex-bringup + ros-${ROS_DISTRO}-kortex-description ros-${ROS_DISTRO}-kortex-driver + ) +else() + AddCatkinProject( + ros_kortex + GITHUB Kinovarobotics/ros_kortex + GIT_TAG origin/${ROS_DISTRO}-devel + WORKSPACE data_ws + ) + + AddProject( + mc_kinova + GITHUB isri-aist/mc_kinova + GIT_TAG origin/main + DEPENDS mc_rtc ros_kortex + ) +endif()