如何解决如何将预先构建的文件打包到 conan 包中,然后在安装过程中只获取某些文件?
我正在制作一个具有预构建 Windows 和 linux 文件的 conan 包。我如何确保在 conan install
期间,根据调用 conan install
命令的平台,仅从包中获取 windows 或 linux 文件。
conan install
,否则 package()
不会调用 --build
。那么我是否只需添加 --build
标志,然后在 package()
函数中根据平台复制相关文件?我并没有真正构建任何东西,只是“提供”一个具有预构建文件的包,我对通过柯南构建这些文件没有兴趣。
lib
目录基本上有一个 windows 和一个 linux 子目录,它们分别包含平台特定的文件:
-
lib/windows/*
-
lib/linux/*
我将尝试带有 --build
标志的选项,看看我能达到什么结果,但我想知道是否有不同的解决方案,对柯南没有太多经验,仍在试验中。
解决方法
我正在制作一个具有预构建 Windows 和 linux 文件的 conan 包。我如何确保在 conan 安装期间,根据调用 conan install 命令的平台,仅从包中获取 windows 或 linux 文件
通过package ID。每个包都由其设置、选项和依赖项构成。因此,如果您为 Linux 或 Window 执行此操作,它们将是不同的包。
除非提供了 --build 标志,否则 conan install 不会调用 package()。
install --build 只在你想从源代码构建时使用,否则柯南会为你下载预构建的包,这是常规流程。
那么我是否只需添加 --build 标志,然后在 package() 函数中根据平台复制相关文件?我并没有真正构建任何东西,只是“提供”一个具有预构建文件的包,我对通过柯南构建这些文件没有兴趣。
文档上有一个关于 packaging binaries 的很好的部分,看看那里。
此外,Conan Center 有官方配方,只分发预先构建的,如 nodejs 配方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。