Структура каталогов для библиотеки C ++
Я работаю над библиотекой C ++. В конечном итоге я хотел бы сделать его общедоступным для нескольких платформ (по крайней мере, для Linux и Windows) вместе с некоторыми примерами ипитон привязок. Работа продвигается хорошо, но на данный момент проект довольно грязный, построен исключительно дляVisual C ++ а не мультиплатформенность вообще.
Поэтому я чувствую, что уборка в порядке. Первое, что я хотел бы улучшить, - это структура каталогов проекта. Я хотел бы создать структуру, которая подходит дляAutomake инструменты, позволяющие легко компилировать на нескольких платформах, но я никогда не использовал их раньше. Так как я все еще буду заниматься (большей частью) кодированием в Visual Studio, мне нужно где-то хранить свои файлы проекта и решения Visual Studio, а также.
Я пытался найти в Google такие термины, как "структура каталогов библиотеки C ++", но ничего полезного, похоже, не пришло Я нашел несколько очень простых рекомендаций, но никаких кристально чистых решений.
Просматривая некоторые библиотеки с открытым исходным кодом, я пришел к следующему:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
У меня нет / мало предыдущего опыта работы с мультиплатформенными проектами разработки / разработки с открытым исходным кодом, и я очень удивлен, что не могу найти хороших рекомендаций о том, как структурировать такой проект.
Как вообще следует структурировать такой библиотечный проект? Что можно рекомендовать к прочтению? Есть ли хорошие примеры?