Missing directories include/ and tools/
Opened this issue · 1 comments
If you're developing a library (not an application), then you want a root include directory which will be installed as public API on the system (this means you use <...> for them instead of "..." for headers in src/).
include/mylibrary/
include/mylibrary/mylibrary.hpp
include/mylibrary/mylibrary/specific_header.hpp
Users are recommended to include <mylibrary/mylibrary.hpp>
If a library has multiple modules (like boost), then the layout is:
include/myproject/
include/myproject/sublibrary1.hpp
include/myproject/sublibrary1/specific_header.hpp
include/myproject/sublibrary2.hpp
include/myproject/sublibrary2/specific_header.hpp
This is for larger projects with multiple library modules (that might be in separate repos or the same repo).
Having the include/ files available serves as a kind of public documentation.
The second issue, is there needs to be a tools/ directory for scripts, optional tooling, things used for development of the code but aren't necessarily part of the main distribution for the application/library.