CMake & C++ - Каков наилучший подход для совместного использования библиотеки между несколькими подмодулями git

Я работаю с большим проектом C++ (используя cLion), который содержит 4 подмодуля. Я написал небольшую библиотеку C++, которая обеспечивает возможность чтения из файла.properties (наиболее распространенного в Java..).

Файл "Application.properties" должен содержать общие переменные и переменные для каждого проекта. Например; Я использую базу данных Elasticsearch, и все 4 подмодуля должны знать его адрес. Кроме того, поскольку у меня есть 4 зарубежных проекта, мне нужно постоянно поддерживать 5 разных файлов CMakeLists ( 4 подмодуля 1 для основного проекта).

Мое решение состоит в том, чтобы установить общий код в корне основного проекта и использовать его путем включения библиотеки в каждый проект.

  • Контроль версий проекта и субмодулей - это git. Я подумала об этом и решила, что, возможно, мне стоит проверить еще отзывы, прежде чем я начну писать.

С благодарностью, Коби.

0 ответов

Моим решением было создать "общий модуль" для каждого модуля в моих подмодулях. Я добавил следующую строку в файл cmakelists.txt. ADD_LIBRARY(MyLib ../Common/a.cpp ../Common/b.cpp) target_link_libraries(MyTargetName LINK_PUBLIC MyLib)

поскольку главный репозиторий (подмодулей) - это сам git-репозиторий. я могу легко управлять библиотекой осколков. Благодарю.

Другие вопросы по тегам