From 36bc575bacee092ccbad3b782e269cafa1d80d26 Mon Sep 17 00:00:00 2001 From: fherrero <fherrero@iri.upc.edu> Date: Fri, 10 Jul 2020 13:03:01 +0200 Subject: [PATCH] Add argument to add_cmake_dependencies function, to disable adding CMakeLists dependency to non existing target *_generate_messages_cpp when package does not contain messages. For example, tf2_ros, and Image packages (cv_bridge, camera_info_manager, image_transport) --- libraries/create_publisher.sh | 6 +++--- libraries/create_subscriber.sh | 6 +++--- libraries/create_tf2_broadcaster.sh | 2 +- libraries/create_tf2_listener.sh | 2 +- libraries/scripts_library.sh | 11 ++++++++--- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/libraries/create_publisher.sh b/libraries/create_publisher.sh index 437972a..3c261be 100755 --- a/libraries/create_publisher.sh +++ b/libraries/create_publisher.sh @@ -395,9 +395,9 @@ function create_publisher add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "${msg_pkg}" if [[ "${msg_file}" = "Image" ]] then - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "camera_info_manager" - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "image_transport" - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "cv_bridge" + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "camera_info_manager" false + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "image_transport" false + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "cv_bridge" false fi ################################################################################ diff --git a/libraries/create_subscriber.sh b/libraries/create_subscriber.sh index 1ebb5ae..b01697c 100755 --- a/libraries/create_subscriber.sh +++ b/libraries/create_subscriber.sh @@ -401,9 +401,9 @@ function create_subscriber add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "${msg_pkg}" if [[ "${msg_file}" = "Image" ]] then - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "camera_info_manager" - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "image_transport" - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "cv_bridge" + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "camera_info_manager" false + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "image_transport" false + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "cv_bridge" false fi ################################################################################ diff --git a/libraries/create_tf2_broadcaster.sh b/libraries/create_tf2_broadcaster.sh index d8189af..15b7e72 100644 --- a/libraries/create_tf2_broadcaster.sh +++ b/libraries/create_tf2_broadcaster.sh @@ -185,7 +185,7 @@ function create_tf2_broadcaster ################################################################################ # modify the CMakeLists.txt file - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "tf2_ros" + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "tf2_ros" false ################################################################################ #compile diff --git a/libraries/create_tf2_listener.sh b/libraries/create_tf2_listener.sh index 3306429..58ee0f5 100644 --- a/libraries/create_tf2_listener.sh +++ b/libraries/create_tf2_listener.sh @@ -254,7 +254,7 @@ function create_tf2_listener ################################################################################ # modify the CMakeLists.txt file - add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "tf2_ros" + add_cmake_dependencies "${driver_alg}" "${ros_pkg}" "tf2_ros" false ################################################################################ #compile diff --git a/libraries/scripts_library.sh b/libraries/scripts_library.sh index b071e54..5193ba3 100755 --- a/libraries/scripts_library.sh +++ b/libraries/scripts_library.sh @@ -695,11 +695,13 @@ function add_cmake_dependencies local driver_alg=$1 local ros_pkg=$2 local new_pkg=$3 + local is_msg_pkg=${4:-true} local line="" local old_line="" local comment="" local old_string="" local new_string="" + if [[ "${new_pkg}" != "${ros_pkg}" ]] then @@ -719,9 +721,12 @@ function add_cmake_dependencies sed -i -e "/CATKIN_DEPENDS/ s/${old_string}/${new_string}/g" "CMakeLists.txt" fi - line="add_dependencies(\${PROJECT_NAME} ${new_pkg}_generate_messages_cpp)" - comment="add_dependencies(\${PROJECT_NAME} <msg_package_name>_generate_messages_cpp)" - add_line_to_file "${line}" "${comment}" "CMakeLists.txt" + if [[ "${is_msg_pkg}" == true ]] + then + line="add_dependencies(\${PROJECT_NAME} ${new_pkg}_generate_messages_cpp)" + comment="add_dependencies(\${PROJECT_NAME} <msg_package_name>_generate_messages_cpp)" + add_line_to_file "${line}" "${comment}" "CMakeLists.txt" + fi fi } -- GitLab