conan graph build-order-merge¶
$ conan graph build-order-merge -h
usage: conan graph build-order-merge [-h] [-f FORMAT] [-v [V]] [-cc CORE_CONF]
[--file [FILE]] [--reduce]
Merge more than 1 build-order file.
options:
-h, --help show this help message and exit
-f FORMAT, --format FORMAT
Select the output format: json, html
-v [V] Level of detail of the output. Valid options from less
verbose to more verbose: -vquiet, -verror, -vwarning,
-vnotice, -vstatus, -v or -vverbose, -vv or -vdebug,
-vvv or -vtrace
-cc CORE_CONF, --core-conf CORE_CONF
Define core configuration, overwriting global.conf
values. E.g.: -cc core:non_interactive=True
--file [FILE] Files to be merged
--reduce Reduce the build order, output only those to build.
Use this only if the result will not be merged later
with other build-order
如 conan graph build-order
命令中所述,有两种类型的顺序 recipe
和 configuration
。只有相同类型的构建顺序可以合并在一起,否则命令将返回错误。
请注意,只有没有使用 --reduce
缩减的构建顺序才能合并。
合并不同输入文件的结果也可以使用 conan graph build-order-merge --reduce
参数进行缩减,其行为将相同,只保留需要从源代码构建的元素。
当合并 2 个或更多“构建顺序”文件时,合并后的结果包含一个 profiles
部分,例如
"profiles": {
"build_order_win": {
"args": "-pr:h=\"profile1\" -s:h=\"os=Windows\" ..."
},
"build_order_nix": {
"args": "-pr:h=\"profile2\" -s:h=\"os=Linux\" ..."
}
}
其中 build_order_win
和 build_order_nix
是用作合并输入的“构建顺序”文件名,并将被引用在构建顺序中每个 package
的 filenames
字段中。这样,在构建多个配置时,更容易获得构建构建顺序中特定软件包二进制文件所需的命令行参数。