#cfg #compilation #build #build-rs

构建 cfg_feature_groups

定义功能组的构建辅助工具

2个版本

0.1.1 2019年4月6日
0.1.0 2019年4月6日

#586 in 构建实用工具

Download history 22/week @ 2024-03-29 9/week @ 2024-04-05

60 每月下载次数

MIT 许可证

6KB
75

cfg_feature_groups

定义功能组以提高条件编译管理

Build Status

该库允许定义功能组,该功能组只能从一组值中选择一个。在 Cargo.toml 中作为元数据定义的功能组

[package.metadata.feature_groups]
log = ["dummy", "semihosting", "itm"]

其中 "dummy", "semihosting", "itm" 是独立定义的功能。一旦定义了功能组,它们可以在构建时进行检查,并转换为 cfg 属性

[build-dependencies]
cfg_feature_groups = "..."
use cfg_feature_groups::setup_feature_groups;
fn main() {
    setup_feature_groups();
}

然后在您的程序中,您可以使用类似以下的内容

#[cfg(log = "itm")]
fn define_itm() {}

setup_feature_groups 将确保为每个功能组定义一个且仅定义一个选项。

请参阅 完整示例

文档

API 文档可在 docs.rs 上找到。

许可证

另请参阅

if_cfg 风格提供了处理条件编译的另一种方法。

依赖关系

~235–480KB
~11K SLoC