如何在本地发布柯南包?

And*_*w E 10 cmake conan

我是柯南的新手,但对 cmake/make/studio 等有经验。

我正在尝试构建一个简单的程序,该程序使用一个库(uWebSockets),该库使用另一个库(uSockets),该库使用另一个库(libuv)。库对这个问题并不重要,只是存在一系列依赖关系。

我在柯南中心找到了libuv,一切正常。

uSockets lib 只是 makefile,但我添加了 cmake,并且我认为添加了 Conan 支持。示例已编译并运行,所以我认为这是可以的。

但是...我如何在本地使用我的新 uSockets 库?

我不想将其发布到任何地方,只需在 uWebSockets 的构建中使用它,然后将该构建用于我的可执行文件。

我想我正在寻找类似“柯南发布本地”的东西。

任何帮助,将不胜感激!

dro*_*dri 10

从源创建包的过程是本地的。当您执行 a 时conan create,它会从本地文件夹中获取配方和源,将它们放入 Conan 缓存中,根据请求构建包(每个conan create都会构建不同的配置,您可以使用输入设置-s compiler.version=xxx或使用推荐的完整配置文件,以指定配置)。

当包位于本地缓存中时,可以从任何其他项目重用它们。首先会conan install在 Conan 缓存中查找,只有当在那里找不到包时,才会尝试在配置中查找remotes。如果一切都在本地找到,则可能根本不需要互联网连接。

另外,取决于您关心的问题,您不需要将包发布到公共服务器,例如ConanCenter。您可以使用Artifactory CE(免费)将软件包放在那里,您可以在 LAN 中运行它,无需外部互联网连接,并且您仍然可以从那里重用您的二进制文件,而无需从源重建。