Closed brycelelbach closed 3 years ago
Thanks for your submission! This has been merged into DoxyPress as 19ed582. The name of the tag was changed to clang-include-input-source
to better reflect its relationship to the input-source
configuration.
This PR adds a new option,
clang-include-input-paths
, which is on by default. If this option is on, then the directory of each input file is added to the include path when using Clang parsing. This behavior is the current status quo, but some projects need to be able to disable it.Adding the directory of every input file to the include path is problematic for a number of projects. We ran into problems with it in Thrust.
For example, imagine a project that has this structure:
And those files are intended to be included by users as:
But within
include/myproject/component1/widget.h
, you might have:If you have
"input-source" = [ "include/" ]
, then the directories of all headers found ininclude
will be added as includes by Doxypress:This is problematic, because now
include/myproject/component1/widget.h
will includeinclude/myproject/component0/coolstuff.h
instead ofinclude/myproject/component1/coolstuff.h
.Alternatively, consider the case we ran into in Thrust, where our project structure looks like:
With
"input-source" = [ "thrust" ]
, Doxypress will add the following as includes:This is problematic because
errno.h
is also the name of a system header, and will now be found instead of the system header.