Closed v-lopez closed 5 years ago
Just a heads up on this @v-lopez, we discovered that it causes issues with building in overlay workspaces, because -isystem
paths are included after -I
. I had to pull this out for now unless we can come up with a workaround that doesn't break overlays.
For reference, this discourse post has a pretty good minimal reproduction example: https://discourse.ros.org/t/preparing-for-melodic-sync-2020-03-12/13207/7
Thanks for letting me know, that's bad news :/ We've been forced to use SYSTEM in most of our code to be able to use stricter build flags, so I guess that's why we didn't see the issue.
I believe this may be due to the the fact that all ros header directories are installed on the same path.
So if I'm finding an installed package roscpp
for instance, without SYSTEM, it's going to put it before my package parameter headers that use SYSTEM. And if my parameter headers are also installed they will be found first.
Adding SYSTEM here prevents compilation warnings from being displayed on the autogenerated headers.
And more importantly, if some of those warnings have been converted to build errors, ignores those errors and enables compilation.