diff --git a/.github/workflows/testpr.yml b/.github/workflows/testpr.yml index b0e28947..5ab426ea 100644 --- a/.github/workflows/testpr.yml +++ b/.github/workflows/testpr.yml @@ -131,29 +131,29 @@ jobs: shell: bash -l {0} if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-64' run: | - env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing + # env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing - name: Build recipes for linux-aarch64 shell: bash -l {0} if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-aarch64' run: | - env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing + # env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing - name: Build recipes for osx-64 shell: bash -l {0} if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-64' run: | - env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing + # env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing - name: Build recipes for osx-arm64 shell: bash -l {0} if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-arm64' run: | - env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing + # env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing - name: Build recipes for win-64 shell: bash -l {0} if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'win-64' run: | - $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing + # $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing diff --git a/patch/ros-jazzy-apriltag-detector.win.patch b/patch/ros-jazzy-apriltag-detector.win.patch new file mode 100644 index 00000000..e4842321 --- /dev/null +++ b/patch/ros-jazzy-apriltag-detector.win.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 35b0303..b7b031a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,10 @@ + cmake_minimum_required(VERSION 3.16) + project(apriltag_detector) + +-add_compile_options(-Wall -Wextra -Wpedantic -Werror) ++if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ add_compile_options(-Wall -Wextra -Wpedantic -Werror) ++endif() ++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + # find dependencies + find_package(ament_cmake REQUIRED) diff --git a/patch/ros-jazzy-foxglove-bridge.win.patch b/patch/ros-jazzy-foxglove-bridge.win.patch index a08bd3d4..b8c4d62e 100644 --- a/patch/ros-jazzy-foxglove-bridge.win.patch +++ b/patch/ros-jazzy-foxglove-bridge.win.patch @@ -69,42 +69,6 @@ index 4b85891..6a946ee 100644 +extern FOXGLOVE_BRIDGE_BASE_EXPORT const char FOXGLOVE_BRIDGE_GIT_HASH[]; } // namespace foxglove -diff --git a/ros2_foxglove_bridge/src/generic_client.cpp b/ros2_foxglove_bridge/src/generic_client.cpp -index 7c58801..3e0b015 100644 ---- a/ros2_foxglove_bridge/src/generic_client.cpp -+++ b/ros2_foxglove_bridge/src/generic_client.cpp -@@ -11,17 +11,20 @@ - - // clang-format off - /* True if the version of RCLCPP is at least major.minor.patch */ --#define RCLCPP_VERSION_GTE(major, minor, patch) \ -- (major < RCLCPP_VERSION_MAJOR \ -- ? true \ -- : major > RCLCPP_VERSION_MAJOR \ -- ? false \ -- : minor < RCLCPP_VERSION_MINOR \ -- ? true \ -- : minor > RCLCPP_VERSION_MINOR \ -- ? false \ -- : patch < RCLCPP_VERSION_PATCH ? true \ -- : patch > RCLCPP_VERSION_PATCH ? false : true) -+#define RCLCPP_VERSION_MAJOR_GT(major) ((major) < RCLCPP_VERSION_MAJOR) -+#define RCLCPP_VERSION_MAJOR_LT(major) ((major) > RCLCPP_VERSION_MAJOR) -+#define RCLCPP_VERSION_MINOR_GT(minor) ((minor) < RCLCPP_VERSION_MINOR) -+#define RCLCPP_VERSION_MINOR_LT(minor) ((minor) > RCLCPP_VERSION_MINOR) -+#define RCLCPP_VERSION_PATCH_GT(patch) ((patch) < RCLCPP_VERSION_PATCH) -+#define RCLCPP_VERSION_PATCH_LT(patch) ((patch) > RCLCPP_VERSION_PATCH) -+ -+#define RCLCPP_VERSION_GTE(major, minor, patch) \ -+ (RCLCPP_VERSION_MAJOR_GT(major) || \ -+ (!RCLCPP_VERSION_MAJOR_LT(major) && \ -+ (RCLCPP_VERSION_MINOR_GT(minor) || \ -+ (!RCLCPP_VERSION_MINOR_LT(minor) && \ -+ (RCLCPP_VERSION_PATCH_GT(patch) || \ -+ (!RCLCPP_VERSION_PATCH_LT(patch))))))) - // clang-format on - - namespace { diff --git a/ros2_foxglove_bridge/src/message_definition_cache.cpp b/ros2_foxglove_bridge/src/message_definition_cache.cpp index 262c482..2d72a3a 100644 --- a/ros2_foxglove_bridge/src/message_definition_cache.cpp diff --git a/patch/ros-jazzy-ouster-ros.osx.patch b/patch/ros-jazzy-ouster-ros.osx.patch new file mode 100644 index 00000000..4a9e9e2f --- /dev/null +++ b/patch/ros-jazzy-ouster-ros.osx.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e07dcf4..1b430f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -78,7 +78,7 @@ target_link_libraries(ouster_ros_library + ouster_build + pcl_common + # PRIVATE (unsupported) +- -Wl,--whole-archive ouster_client -Wl,--no-whole-archive ++ ouster_client + ) + + # helper method to construct ouster-ros components +diff --git a/src/os_ros.cpp b/src/os_ros.cpp +index 0ddbf8e..a326b1a 100644 +--- a/src/os_ros.cpp ++++ b/src/os_ros.cpp +@@ -127,7 +127,7 @@ void copy_scan_to_cloud(ouster_ros::Cloud& cloud, const ouster::LidarScan& ls, + const auto rf = reflectivity.data(); + const auto nr = near_ir.data(); + const auto sg = signal.data(); +- const auto t_zero = std::chrono::duration::zero(); ++ constexpr std::chrono::nanoseconds t_zero{0}; + + #ifdef __OUSTER_UTILIZE_OPENMP__ + #pragma omp parallel for collapse(2) diff --git a/patch/ros-jazzy-ouster-ros.win.patch b/patch/ros-jazzy-ouster-ros.win.patch new file mode 100644 index 00000000..97643f59 --- /dev/null +++ b/patch/ros-jazzy-ouster-ros.win.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e07dcf4..8d23997 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,13 +23,21 @@ find_package(pcl_conversions REQUIRED) + find_package(tf2_eigen REQUIRED) + + # ==== Options ==== +-add_compile_options(-Wall -Wextra) ++if(MSVC) ++ add_compile_options(/W2) ++ add_compile_definitions(NOMINMAX _USE_MATH_DEFINES WIN32_LEAN_AND_MEAN) ++else() ++ add_compile_options(-Wall -Wextra) ++endif() ++ + if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + endif() + option(CMAKE_POSITION_INDEPENDENT_CODE "Build position independent code." ON) + ++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ + set(_ouster_ros_INCLUDE_DIRS + include + ouster-sdk/ouster_client/include diff --git a/vinca_linux_64.yaml b/vinca_linux_64.yaml index a1d2612b..fb6a46ec 100644 --- a/vinca_linux_64.yaml +++ b/vinca_linux_64.yaml @@ -146,5 +146,7 @@ packages_select_by_deps: - odom_to_tf_ros2 + - ouster_ros + patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml diff --git a/vinca_linux_aarch64.yaml b/vinca_linux_aarch64.yaml index 36461958..ef3252d7 100644 --- a/vinca_linux_aarch64.yaml +++ b/vinca_linux_aarch64.yaml @@ -144,5 +144,7 @@ packages_select_by_deps: - odom_to_tf_ros2 + - ouster_ros + patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml diff --git a/vinca_osx.yaml b/vinca_osx.yaml index a7af9fc3..5a7fa429 100644 --- a/vinca_osx.yaml +++ b/vinca_osx.yaml @@ -152,5 +152,7 @@ packages_select_by_deps: - odom_to_tf_ros2 + - ouster_ros + patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml diff --git a/vinca_osx_arm64.yaml b/vinca_osx_arm64.yaml index 95a739fb..506d294d 100644 --- a/vinca_osx_arm64.yaml +++ b/vinca_osx_arm64.yaml @@ -152,5 +152,7 @@ packages_select_by_deps: - odom_to_tf_ros2 + - ouster_ros + patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml diff --git a/vinca_win.yaml b/vinca_win.yaml index 39522d1d..0255590d 100644 --- a/vinca_win.yaml +++ b/vinca_win.yaml @@ -134,5 +134,7 @@ packages_select_by_deps: - behaviortree_cpp + - ouster_ros + patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml