Earlier quoted context omitted.
The idea (only implemented in Buck AFAIK) is to model not a list of include directories, but a mapping from the path specified in your "#include" to the actual file on disk. So your code might look like this: #include The project folder structure might look like this: . └── src └── include └── foo └── bar.hpp And the mapping might look like this: { "foo/bar.hpp": "./src/include/foo/bar.hpp" } This enables the build s…
The ability to specify at a finer level of granularity than directories sounds wildly overcomplicated, to be honest. I'm not aware of any other language that works at that level either (maybe Python's import mechanism does let you tinker at that level, but it would be extremely niche). Also, I'm also a bit confused about how it can work even in C/C++; surely most compilers don't even have the capability of specifying…
You can also wire up Protobuf headers in the map.