#cmake
#cmake
Вопрос:
Возможно ли отложить установку загруженных пакетов на другой компьютер с помощью CMake?
Я знаю, что можно загрузить и установить пакет с CMake (функция ExternalProjectAdd) на тот же компьютер. Я хотел бы знать, возможно ли загрузить пакет на компьютер и установить его на другой.
Мне нужно сделать это, чтобы иметь возможность загружать зависимости программного обеспечения на персональный компьютер (подключение к Интернету, привилегии root), а затем перемещаться в кластер (без подключения к Интернету, без привилегий root) для установки программного обеспечения и его зависимостей.
РЕДАКТИРОВАТЬ: вот пример моей проблемы.
CMake используется для генерации кода X. Этот код зависит от библиотеки Y, доступной в Интернете. Я хочу сгенерировать X в кластере без подключения к Интернету и без привилегий root. Поэтому я не могу загрузить Y из этого кластера (нет подключения к Интернету) и я не могу установить его из менеджера пакетов (нет привилегий root). Мне нужно загрузить Y с другого компьютера (персональный компьютер).
Мой вопрос таков: «Как я мог загрузить Y с персонального компьютера, а затем сгенерировать X в этом кластере с помощью CMake?».
Комментарии:
1. «Я хотел бы знать, возможно ли загрузить пакет на компьютер и установить его на другой». — Вы имеете в виду создание проекта на одном компьютере и его упаковку . Затем «распаковать» этот пакет на другом компьютере? Это нормальное поведение для многих проектов. У CMake есть CPack, который может «упаковать» проект во многих форматах, которые могут быть установлены (распакованы) на другой компьютер. Не ясно, чего вы хотите от CMake…
2. Я использую термин «пакет» так, как он понимается в функции «find_package». Однако вы также можете заменить «пакет» на «библиотеку». Я добавил конкретное описание моей проблемы в исходное сообщение. Пожалуйста, скажите мне, если это непонятно.
3. «Как я мог загрузить Y с персонального компьютера, а затем сгенерировать X в этом кластере с помощью CMake?» — Без CMake вы можете что-либо загрузить с ПК в кластер? CMake — это не волшебный инструмент загрузки,
ExternalProject_Add
просто использует существующие инструменты (например, git) для загрузки вещей. Он поддерживает ограниченное количество способов загрузки, поэтому это зависит от вашей фактической конфигурации,ExternalProjectAdd
подходит вам или нет. Вы также можете обратиться к его документации , чтобы проверить возможности этой команды.4. Извините, я не понял вашего ответа. Возможно, чего-то не хватает в описании моей проблемы, но я не могу понять, чего именно.