如何全局配置 Cargo 配置文件选项?

How can I globally configure a Cargo profile option?

使用 Cargo,我可以将项目的开发设置设置为使用并行代码生成:

[profile.dev]
codegen-units = 8

根据the documentation,应该可以将其放入~/.cargo/config以将此设置应用于所有项目。这对我不起作用:似乎根本没有使用 .cargo/config 文件。有什么方法可以将这样的配置应用到我编译的每个项目吗?

解决方法是创建一个脚本来代替 cargo

#!/bin/bash

if [[ $* != *--release*  ]]; then
    # dev build
    export RUSTFLAGS="-C codegen-units=8"
fi

cargo "$@"

如果您在脚本中使用 cargo 的完整路径,您可以创建一个别名

alias cargo=/path/to/script

然后调用 cargo.

您可以在 .cargo/config 文件中为所有构建或每个目标设置 rustflags。

[build] # or [target.$triple]
rustflags = ["-Ccodegen-units=4"]

需要说明的是,这将为您的所有项目(涵盖在本 .cargo/config 中)设置代码生成单元,而不考虑配置文件。

为确保它确实已设置,您还可以在同一个文件中设置详细输出。这将显示带有 cargo 调用的标志的每个 rustc 命令。

[term]
verbose = true