swri-robotics / mapviz

Modular ROS visualization tool for 2D data.
BSD 3-Clause "New" or "Revised" License
371 stars 144 forks source link

Allow building with C++14 for versions > ROS Kinetic #720

Closed rjb0026 closed 3 years ago

rjb0026 commented 3 years ago

ROS Melodic and greater default builds to target C++14. I think all mapviz packages should default to those settings unless building for a version of ROS <= Kinetic, in which case builds should target C++11.

matt-attack commented 3 years ago

Is there a particular motivation for this since code will currently have to work with 11 anyways? ABI issues when using exterior libraries?

Mostly curious.

rjb0026 commented 3 years ago

Just trying to get ahead of this pull request for a dependency (swri_yaml_util) https://github.com/swri-robotics/marti_common/pull/615

Some of the targets in mapviz that depend on that library were not targeting a modern version of c++ and causing a build failure in kinetic when while I was testing that pull request.