olympus-robotics / hephaestus

Hephaestus is a C++ framework designed to facilitate robotics development by providing commonly needed functionality and abstractions.
MIT License
18 stars 2 forks source link

Fix some IWYU issues; fix typo in README. #98

Closed hzeller closed 3 weeks ago

hzeller commented 3 weeks ago

Description

filippobrizzi commented 3 weeks ago

@hzeller Thanks a lot for your contribution! You are right, preferred is now default, I will update the readme.

After your comment, I found that there is this tool include-what-you-use (which you probably know) and I integrated it in the repo https://github.com/olympus-robotics/hephaestus/pull/99, although I still need to understand the proper configuration for it.

hzeller commented 3 weeks ago

Since you're using clang-tidy in the project, enabling the misc-include-cleaner check might already provide a bunch of detection without having to use include-what-you-use.

Also the clang layering check is helpful, there are a few options that help keeping include dependencies clean: https://maskray.me/blog/2022-09-25-layering-check-with-clang

filippobrizzi commented 3 weeks ago

Thanks for the tip misc-include-cleaner provided to be more helpful than include-what-you-use

I have enabled it for the repo and found a lot of missing includes https://github.com/olympus-robotics/hephaestus/pull/107

hzeller commented 3 weeks ago

Cool!