I'm maintaining a small C library; let's call it libfoo. It has quite a few users (actually it's complicated - it's the main fork of a highly popular library which has been abandoned); and it sports a spiffy CMake-based build mechanism. My repo directory structure is:
<root>
|
+--- src
| |
| + foo.h
| |
| + foo.c
|
... other stuff
And when it's installed, the structure is: m. My library directory structure is:
<root>
|
+--- include
| |
| + foo.h
|
+--- lib
| |
| + foo.a (or foo.so, never mind)
|
... other stuff
Now, one of my users is telling me: "I want to be able to include your library's include file by writing #include <foo/foo.h>
, not #include "foo.h"
or #include <foo.h>
, and your layout is not letting me do that. You should fix it!"
My question: Should I? Or rather, is this enough of strong convention, or a legitimate need, for it to be a justifiable expectation from me?