Как включить все зависимые среды выполнения 3-го участника в сгенерированный cmake / cpack пакет на linux? - PullRequest
1 голос
/ 10 апреля 2019

У меня есть проект на c ++ с парой исполняемых файлов, настроенных с помощью cmake. Обычный рабочий процесс заключается в установке всех зависимостей 3-го участника через менеджер пакетов, сборке и установке пакета через cpack на той же машине. Теперь я хотел бы включить все зависимости времени выполнения в этот пакет, чтобы иметь возможность установить его на другой компьютер без необходимости устанавливать там зависимости 3-го участника, как на компьютере сборки.

Я провел много исследований в Интернете - без особого успеха. Я нашел что-то под названием BundleUtilities для cmake, но не смог найти никакой документации по этому вопросу Я даже не знаю, делает ли это то, что мне нужно.

Я хотел бы воспользоваться преимуществами cmake и создать такой «пакетный» пакет без какого-либо ручного вмешательства или чего-либо еще. Я не хочу собирать и копировать 3-сторонние зависимости вручную. Идеально было бы чистое решение cmake / cpack для этой проблемы.

Edit:

Чтобы уточнить: у целевого компьютера нет подключения к Интернету.

1 Ответ

0 голосов
/ 10 апреля 2019

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

Почему бы просто не вызвать cmake для вызова системного менеджера пакетов во время настройки?Команда exec_process () запустит для вас консольные команды.

...