本文档翻译自:https://docs.conan.io/en/latest/using_packages/using_profiles.html
到目前为止,我们已经使用了 ~/.conan/profiles/default 中存储的默认设置,并在命令行上加入了自定义参数。
然而,在大型项目中,配置可能会变得复杂,设置可能会非常不同,我们需要一种简单的方法来切换不同配置的不同设置,选项等。在配置之间切换的一种简单方法是使用配置文件。
配置文件包含预定义的setting、options、environment variables 和 build_requires,在以下结构中指定:
[settings]setting=value[options]MyLib:shared=True[env]env_var=value[build_requires]tool1/0.1@user/channeltool2/0.1@user/channel, t
options 允许使用通配符,使您可以将相同的选项值应用于许多包。例如:
[options]*:shared=True
下面是配置文件可能包含的配置示例:
clang_3.5
[settings]os=Macosarch=x86_64compiler=clangcompiler.version=3.5compiler.libcxx=libstdc++11build_type=Release[env]CC=/usr/bin/clangCXX=/usr/bin/clang++
配置文件可以存储在默认配置文件文件夹中(~/.conan/profiles/),也可以存储在项目文件结构中的其他任何位置。要使用配置文件中指定的配置,在文件中传递命令行参数,如下例所示:
$ conan create . demo/testing -pr=clang_3.5
继续使用Poco的例子,我们可以定义一个简便的配置文件,它定义所有的命令行参数,并在安装项目依赖项时将其传递给命令行。而不是传递一长串命令行参数。
将一个依赖包作为 shared 和 debug 模式是这样的:
debug_shared
include(default)[settings]build_type=Debug[options]poco:shared=Truepoco:enable_apacheconnector=Falseopenssl:shared=True
要使用配置文件安装依赖关系,我们将使用:
$ conan install .. -pr=debug_shared
我们还可以创建一个新的配置文件来使用不同的编译器版本,并将其存储在我们的项目目录中。例如:
poco_clang_3.5
include(clang_3.5)[options]poco:shared=Truepoco:enable_apacheconnector=Falseopenssl:shared=True
要使用这个新的配置文件安装依赖包,我们将使用:
$ conan install .. -pr=../poco_clang_3.5
您可以在命令行中指定多个配置文件。应用的配置将是所有配置文件的组成,按照它们被指定的顺序决定优先级(最后指定的重合部分会覆盖前面的):
$ conan install .. -pr=../poco_clang_3.5 -pr=my_build_tool1 -pr=my_build_tool2
:::info
See alse
阅读更多关于配置文件的完整参考。有一个Conan命令,conan profile,可以帮助检查和管理配置文件。配置文件也可以通过 conan config install 命令来共享和安装。
:::
