Структура и зависимости кроссплатформенного проекта CMake - PullRequest
0 голосов
/ 23 января 2019

Как правильно включить внешние зависимости в проект CMake? Я видел в некоторых проектах и ​​зависимостях, люди добавляют зависимость в виде подмодуля git, некоторые скрипты find для ExternalProject и менеджеры пакетов (conan).

Итак, проект кроссплатформенный (Windows, Android, в перспективе iOS, macOS, Linux и другие) и требует кросс-компиляции. Проект является закрытым исходным кодом, поэтому пользователь получает скомпилированный двоичный файл. Кросс-компиляция очень важна. Для некоторых платформ требуются специальные зависимости (например, для настольного компьютера требуется GLFW).

Одно из решений, о которых я думаю: написать скрипт (я думаю, python, потому что мне нужна возможность компилировать проект как в Windows, так и в Linux), который скомпилирует все зависимости для данной платформы (toolchain), поместит их в Нужные папки и сгенерируйте скрипт с путями к библиотекам.

...