Я хочу реструктурировать крупномасштабный проект C ++, который состоит из нескольких частей.Я перечислю некоторые из этих частей и некоторые атрибуты, которые, мы надеемся, должны быть рассмотрены:
- BaseClasses, это ограничено небольшой отдельной группой разработчиков.Это около 15 DLL
- MainProject, это открытый исходный код для всех разработчиков, это около 10 DLL.
- несколько Pluginprojects, которые открыты для каждой группы плагинов (каждый плагин является одним специальнымгруппа разработчиков), в настоящее время около 20 Plugin-DLL.
- Сторонние материалы, такие как PDF Lib, Boost, (в будущем, возможно, также wxWidgets), некоторые геометрии и т. д. Большинство из них с исходным кодом, некоторые нет.
В настоящее время это разработано с VisualStudio для ОС Windows (только 32-битная версия) с небольшим количеством MFC и ATL.Версии с SVN и GIT (последний для некоторых сторонних библиотек).
Чтобы заглянуть дальше, мы хотим (возможно, имеем) создать мультиплатформенное приложение.В долгосрочной перспективе это должно работать на разных платформах и использовать кроссплатформенные инструменты и т. Д. Один прогон сборки для всех частей будет очень хорошим.Может быть, CMake может помочь здесь.
Я прочитал много вопросов в SO о структурах и т. Д., Но не могу найти правильные ответы.Также такие книги, как API Design или John Lakos "Large Scale ..", находятся на моей книжной полке.Я также изучил несколько проектов с открытым исходным кодом.
Существуют ли рекомендации / опыт / советы / книги о том, как создать структуру папок и проектов и зависимости для такого приложения?
Заранее спасибо, Хауи