Skip to content

Use relative header paths

Jonathon Anderson requested to merge blue42u/relative-header-paths into develop

The build (esp. for hpcrun) includes a number of -I flags that refer to various directories in the source tree. This makes it non-intuitive to know how to write an #include, for example should messages.h be included as messages.h or as messages/messages.h or as tool/hpcrun/messages/messages.h?

This MR reformats all #includes to use a relative path from the includer to the includee, thus making it very clear which file is being #included and removes the need for e.g. a compilation database for an IDE to know for certain. In addition, this MR also makes local #includes consistently use the local syntax (#include "..."), while system/dependency includes use the system syntax (#include <...>). This makes it clear which headers are which.

The -I flags have been removed from the build scripts, as they are no longer needed.

Backward Compatibility

  • This MR does not alter the data formats.
  • This MR does not alter any CLIs.

Checklist

  • I have run pre-commit run -a on my local checkout and fixed any reported issues.
  • I have confirmed that existing tests and/or the tests added by this MR cover the changes introduced by this MR.
  • I have confirmed that any added tests will be automatically run in CI.
  • I have updated all relevant documentation:

Merge request reports