Управление зависимостями между отдельными проектами c ++ с помощью подмодулей cmake и git - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть 3 проекта c ++: 2 библиотеки A, B и 1 исполняемый файл C.

B зависит от A

C зависит от A и B

Я использую git (с подмодулями) и cmake для всех проектов.Каждый проект должен храниться в собственном git-репозитории.

Я бы хотел иметь возможность извлекать каждый проект и создавать его независимо.

Как организовать свои списки CMakeLists для каждогопроект?Я попробовал следующие подходы:

  1. Использовать подмодули git для зависимых проектов и add_subdirectory в родительском cmake.Проблема в том, что тогда у меня есть дубликат подкаталога для проекта B, потому что (C содержит подмодуль с A и подмодуль с B, а B содержит подмодуль с A. Поэтому у нас есть два подмодуля A).

  2. Используйте ключевое слово export из cmake.Проблема в том, что он требует сборки A руками перед B, а B руками перед C.

Я хотел бы просто вытащить любой проект и вызвать cmake в его корне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...