将自定义值添加到 Cargo.toml 文件中

Adding a custom value into a Cargo.toml file

背景

我目前正在编写一个绑定 C 库的 crate,我需要用户指定构建库的位置。以前,我已经看到 llvm-sys 板条箱使用环境变量来处理这个句柄。然而,我经常使用它,每次我想 运行 一个项目时都必须编写它会变得非常麻烦。

类似问题

我发现 post问了类似的问题,但是好像只能使用指定的标签,所以不能指定路径。

我想做什么

我想知道是否有任何方法可以在 Cargo.toml 文件中拥有特定的 自定义 值。作为我正在编写的板条箱的想法需要一个可以采用任何字符串值的特定值(我在这里称之为 example )。所以当这个 crate 被用于另一个项目时,那个项目 Cargo.toml 文件将类似于这个::

[package]
name = "some-other-project"
version = "0.1.0"
edition = "2021"

[dependencies.my_crate]
version = "0.1.0"
example = "something goes here"

然后我正在编写的 crate(与上述清单文件相关的依赖项)可以访问此值并以某种方式使用。

You can set environment variables using a Cargo configration file (.cargo/config.toml) then you can retrieve them in downstream crates by using e.g. env!()/option_env!()/构建脚本。