У меня есть 3 проекта c ++: 2 библиотеки A, B и 1 исполняемый файл C.
B зависит от A
C зависит от A и B
Я использую git (с подмодулями) и cmake для всех проектов.Каждый проект должен храниться в собственном git-репозитории.
Я бы хотел иметь возможность извлекать каждый проект и создавать его независимо.
Как организовать свои списки CMakeLists для каждогопроект?Я попробовал следующие подходы:
Использовать подмодули git для зависимых проектов и add_subdirectory
в родительском cmake.Проблема в том, что тогда у меня есть дубликат подкаталога для проекта B, потому что (C содержит подмодуль с A и подмодуль с B, а B содержит подмодуль с A. Поэтому у нас есть два подмодуля A).
Используйте ключевое слово export
из cmake.Проблема в том, что он требует сборки A руками перед B, а B руками перед C.
Я хотел бы просто вытащить любой проект и вызвать cmake в его корне.