Использую cmake довольно интенсивно во многих проектах, но до сих пор все проекты делались все в один executable. Этот же требует использования системы библиотек.
С виду всё было просто - в каждой папочке делаешь CMakeLists.txt, линкуешь к таргету и готово. Ноо на деле это вышло не так просто - target_include_directories для библиотек не добавляет заголовки к основному таргету. Линковка библиотеки к библиотеке тоже происходит странно. А копание в документации не принесло плоды.
Может кто-нибудь глянуть глазком, что не так? Уже второй день бьюсь. Я смог скомпилировать, когда пихнул все сорсники в add_executable - без использования библиотек, но это выглядит костыльным для cmake и не годится.
https://github.com/SL-RU/rbcodecs - это кодеки из проекта rockbox. Я выдрал(разработчики разрешили и убедительно сказали, что внешних зависимостей нет. но они были... В итоге пришлось перелопачивать всю их систему, выбирать зависимости, удалять ненужное) их для того, чтобы использовать в своём проекте опенсорсного хайфай плеера на cs4398.
Сейчас там должен скомпиллироваться тестовый проект с SDLкой. Основной CMakeLists.txt в папке test/ . Все 4 библиотеки в libs.