У меня есть существующая кодовая база, где ряд сторонних зависимостей был добавлен как подмодули Git, и их каталоги напрямую ссылаются в CMakeLists.txt, как в include_directories(../external/foo)
.
Некоторые из зависимостей - это большие проекты, такие как FFmpeg, и я бы предпочел просто использовать версию, которую я установил в своей системе с менеджером пакетов. Но сопровождающий кодовой базы хочет иметь возможность продолжать использовать зависимости внутри дерева.
Я подумал, что компромиссом будет настройка CMake для разрешения и того, и другого, либо с использованием установленного пакета, либо с использованием подмодулей внутри дерева. Я думаю, find_package
можно использовать для поиска установленного пакета, но есть ли хороший способ реализовать это поведение, которое не слишком хакерское?