Как локально опубликовать sh пакет Conan? - PullRequest
0 голосов
/ 09 февраля 2020

Я новичок в Конане, но имел опыт работы с cmake / make / studio et c.

Я пытаюсь создать простую программу, которая использует библиотеку (uWebSockets), которая использует другую библиотеку (uSockets), которая использует другую библиотеку (libuv). Библиотеки не важны для вопроса, просто есть цепочка зависимостей.

Я нашел libuv в центральном конане и все в порядке.

Библиотека uSockets - это только makefile, но я добавил cmake и думаю, что добавил поддержку Conan. Образец компилируется и запускается, поэтому я приму это как хорошо.

Но ... Как я могу использовать мой fre sh uSockets lib локально?

Я не хочу публиковать sh его где-либо, просто используйте его в сборке uWebSockets, а затем используйте , который build для моего исполняемого файла.

Я ищу что-то вроде "Conan publi sh local", я думаю.

Любая помощь будет оценена!

1 Ответ

1 голос
/ 09 февраля 2020

Процесс создания пакета из источников является локальным. Когда вы выполняете conan create, он берет рецепт и источники из вашей локальной папки, помещает их в кэш Conan, собирает пакет по запросу (каждый conan create создает другую конфигурацию, вы можете использовать параметры ввода -s compiler.version=xxx или используйте полный профиль, рекомендуемый для указания конфигураций).

Когда пакеты находятся в локальном кэше, их можно повторно использовать из любого другого проекта. Выполнение conan install сначала будет смотреть в кэш Conan, и только если пакет там не найден, попытается просмотреть настроенный remotes. Если все найдено локально, ему может вообще не понадобиться соединение rnet.

Кроме того, в зависимости от ваших интересов, вам не нужно публиковать sh ваших пакетов в паблике c сервер, например ConanCenter . Вы можете использовать Artifactory CE (бесплатно) для размещения своих пакетов там, вы можете запустить его в своей локальной сети, без внешнего соединения inte rnet, и вы все равно можете повторно использовать свои двоичные файлы оттуда, без необходимости перестраивать из источников.

...