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

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

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

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

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

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

1 Ответ

0 голосов
/ 05 декабря 2018

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

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

...