From 661aadf9eb8dca67740e46016fa7c263bb8d3867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurenz=20Altenm=C3=BCller?= Date: Tue, 25 Feb 2025 11:42:36 +0100 Subject: [PATCH 1/3] Fix RMW_LIBRARY_PATH define in case of transition --- repositories/rmw_implementation.BUILD.bazel | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/repositories/rmw_implementation.BUILD.bazel b/repositories/rmw_implementation.BUILD.bazel index 7549c9cb..f1151ef9 100644 --- a/repositories/rmw_implementation.BUILD.bazel +++ b/repositories/rmw_implementation.BUILD.bazel @@ -15,9 +15,7 @@ ros2_cpp_library( "@ros2_rmw_cyclonedds//:rmw_cyclonedds", ], includes = ["include"], - local_defines = [ - "RMW_LIBRARY_PATH=\\\"$(rootpath @ros2_rmw_cyclonedds//:rmw_cyclonedds)\\\"", - ], + local_defines = ['RMW_LIBRARY_PATH=\\"../ros2_rmw_cyclonedds/librmw_cyclonedds.so\\"'], visibility = ["//visibility:public"], deps = [ "@ros2_rcpputils//:rcpputils", From ca7da17e6b480bf79fdf24614f4afcc5475e7f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurenz=20Altenm=C3=BCller?= Date: Sat, 1 Mar 2025 16:37:44 +0100 Subject: [PATCH 2/3] Add test to show issue --- repositories/repositories.bzl | 8 ++++++++ repositories/rmw_implementation.BUILD.bazel | 2 +- ros2/test/BUILD.bazel | 8 ++++++++ ros2/test/ros2_cpp_opt_test.bzl | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 ros2/test/ros2_cpp_opt_test.bzl diff --git a/repositories/repositories.bzl b/repositories/repositories.bzl index db736cdf..99d1c8cf 100644 --- a/repositories/repositories.bzl +++ b/repositories/repositories.bzl @@ -131,6 +131,14 @@ def ros2_workspace_repositories(): urls = ["https://github.com/zaphoyd/websocketpp/archive/refs/tags/0.8.2.tar.gz"], ) + maybe( + http_archive, + name = "with_cfg.bzl", + sha256 = "d83f99ac39cd9940848ea11a51a60159cf09cda2ba30545036041551aae73ab4", + strip_prefix = "with_cfg.bzl-0.6.1", + url = "https://github.com/fmeum/with_cfg.bzl/releases/download/v0.6.1/with_cfg.bzl-v0.6.1.tar.gz", + ) + maybe( http_archive, name = "asio", diff --git a/repositories/rmw_implementation.BUILD.bazel b/repositories/rmw_implementation.BUILD.bazel index f1151ef9..7403c5db 100644 --- a/repositories/rmw_implementation.BUILD.bazel +++ b/repositories/rmw_implementation.BUILD.bazel @@ -15,7 +15,7 @@ ros2_cpp_library( "@ros2_rmw_cyclonedds//:rmw_cyclonedds", ], includes = ["include"], - local_defines = ['RMW_LIBRARY_PATH=\\"../ros2_rmw_cyclonedds/librmw_cyclonedds.so\\"'], + local_defines = ['RMW_LIBRARY_PATH=\\"$(rootpath @ros2_rmw_cyclonedds//:rmw_cyclonedds)\\"'], visibility = ["//visibility:public"], deps = [ "@ros2_rcpputils//:rcpputils", diff --git a/ros2/test/BUILD.bazel b/ros2/test/BUILD.bazel index 2f32ebdc..686649db 100644 --- a/ros2/test/BUILD.bazel +++ b/ros2/test/BUILD.bazel @@ -7,6 +7,7 @@ load( "py_ros2_interface_library", "ros2_interface_library", ) +load("@com_github_mvukov_rules_ros2//ros2/test:ros2_cpp_opt_test.bzl", "ros2_cpp_opt_test") load("@rules_python//python:defs.bzl", "py_test") py_test( @@ -66,3 +67,10 @@ ros2_cpp_test( "@ros2_rclcpp//:rclcpp", ], ) + +ros2_cpp_opt_test( + name = "test_rclcpp_opt", + size = "small", + srcs = ["test_rclcpp.cpp"], + deps = ["@ros2_rclcpp//:rclcpp"], +) diff --git a/ros2/test/ros2_cpp_opt_test.bzl b/ros2/test/ros2_cpp_opt_test.bzl new file mode 100644 index 00000000..d10db7a1 --- /dev/null +++ b/ros2/test/ros2_cpp_opt_test.bzl @@ -0,0 +1,4 @@ +load("@com_github_mvukov_rules_ros2//ros2:cc_defs.bzl", "ros2_cpp_test") +load("@with_cfg.bzl", "with_cfg") + +ros2_cpp_opt_test, _ros2_cpp_opt_test_internal = with_cfg(ros2_cpp_test).set("compilation_mode", "opt").build() From 00f4065ceb624c82f1eb1519dc46f52af99b804c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurenz=20Altenm=C3=BCller?= Date: Sat, 1 Mar 2025 16:38:05 +0100 Subject: [PATCH 3/3] fix the issue --- repositories/rmw_implementation.BUILD.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repositories/rmw_implementation.BUILD.bazel b/repositories/rmw_implementation.BUILD.bazel index 7403c5db..f1151ef9 100644 --- a/repositories/rmw_implementation.BUILD.bazel +++ b/repositories/rmw_implementation.BUILD.bazel @@ -15,7 +15,7 @@ ros2_cpp_library( "@ros2_rmw_cyclonedds//:rmw_cyclonedds", ], includes = ["include"], - local_defines = ['RMW_LIBRARY_PATH=\\"$(rootpath @ros2_rmw_cyclonedds//:rmw_cyclonedds)\\"'], + local_defines = ['RMW_LIBRARY_PATH=\\"../ros2_rmw_cyclonedds/librmw_cyclonedds.so\\"'], visibility = ["//visibility:public"], deps = [ "@ros2_rcpputils//:rcpputils",