从源代码构建时,Conan是否会安装构建依赖关系?

时间:2018-09-08 09:52:42

标签: conan

例如如果我的软件包需要gcc构建并且目标系统上不存在gcc,那么从源代码构建我的软件包时会安装吗?如果是这样,如何为我的软件包指定构建依赖关系?对于不同的系统,它们可能会有所不同。

1 个答案:

答案 0 :(得分:2)

Conan不会安装任何未指示安装的内容。 对于安装构建依赖项,有build_requires

的概念

可以声明它们:

  • 在包装配方中,用于该包装的特定工具。例如,可能是一个测试库(它是一个构建库,仅用于构建和测试,而在拥有二进制文件后则不需要。它不会影响最终的二进制文件)
  • 在配置文件中:这是针对通用工具的,多数情况下适用于所有依赖项。它们由最终用户在此处声明,最终用户可以选择这种方式来使用其系统安装的工具或柯南安装的工具。

Bintray中已有用于CMake和MinGW的工具包(conan-centerbincrafters仓库)

conan中的软件包是在用户级别安装的,不需要root。这些工具(CMake,MinGW)易于在用户级别安装和操作。但是,在用户级别的Linux中使用gcc编译器不是很典型。我不知道用于Linux gcc的柯南软件包,尽管可以将它们构建为完整软件包或作为系统软件包的薄包装。后者可能更难在系统中安装的不同编译器版本之间提供切换。