ros2 / rmw_fastrtps

Implementation of the ROS Middleware (rmw) Interface using eProsima's Fast RTPS.
Apache License 2.0
157 stars 117 forks source link

Update all rmw_fastrtps packages to C++17. #674

Closed clalancette closed 1 year ago

clalancette commented 1 year ago

The main reason to do this is so that we can compile rmw_fastrtps with the clang static analyzer. As of clang++-14 (what is in Ubuntu 22.04), the default still seems to be C++14, so we need to specify C++17 so that new things in the rclcpp headers work properly.

Further, due to reasons I don't fully understand, I needed to set CMAKE_CXX_STANDARD_REQUIRED in order for clang to really use that version. So set this as well.

clalancette commented 1 year ago

CI:

clalancette commented 1 year ago

The failing tests on Windows have nothing to do with this PR, so going ahead and merging.