Структура проекта Git и CMake, внешние библиотеки и пакеты - PullRequest
0 голосов
/ 21 ноября 2019

Я относительно неопытен с проектами CMake, а также с Git.

Если я использую внешние библиотеки, например, в моем случае JsonCpp и OpenVR, это плохой подход для размещения пакетов / библиотек внутри моего проектаструктурировать и помещать их со своим собственным материалом в мой Git-репозиторий?

Причина, по которой я это делаю, заключается в том, что я хочу сделать это проще для будущих пользователей, чтобы им не приходилось загружать эти библиотеки и добавлять установкукаталог для CMAKE_PREFIX_PATH.

Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 21 ноября 2019

Это плохой подход - помещать пакеты / библиотеки в структуру моего проекта и помещать их со своими собственными материалами в мой репозиторий Git?

Да, это так.

Причина, по которой я это делаю, заключается в том, что я хочу сделать это проще для будущих пользователей, чтобы им не приходилось загружать эти библиотеки и добавлять каталог установки в CMAKE_PREFIX_PATH.

Это можно сделать только в том случае, если вы уверены, что пользователи будут запускать их в одной и той же ОС / архиве. Если эти библиотеки используют некоторые другие системные библиотеки, вы также должны убедиться, что они присутствуют в пользовательской системе и имеют совместимые версии.

В общем, это довольно странно, так как обычно распределяют зависимости отдельно иискать их на этапе настройки.

2 голосов
/ 21 ноября 2019

Вам нужен менеджер зависимостей. Для C ++ Conan вполне подойдет. Или вы можете использовать maven .

cmake также есть какое-то решение для этого ExternalProject .

Я никогда не настраивал ничего из этого, но яКонан и Мэйвен (кто-то другой все настраивал).

Есть и другие инструменты, вам нужно просто выбрать один.

...