#cfg #boost #match #target #meta #configuration

cfg_boost

重写了语法和宏,以便在一个包中轻松管理所有 #[cfg] 参数。兼容稳定工具链,无依赖。查看 README / 主页获取更多详细信息。

1 个稳定版本

1.0.0 2023年4月12日

1523开发工具

42 每月下载量

MIT 许可证

65KB
831

cfg_boost

重写了语法和宏,以便在一个包中轻松管理所有 #[cfg] 参数。查看 功能 获取完整的功能列表,如别名、属性、自动依赖标签文档等。

示例

将此

#[cfg(any(doc, any(target_os = "linux", target_os = "macos", target_os = "windows")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "linux", target_os = "windows", target_os = "macos"))))]
pub mod desktop_mod;

#[cfg(any(doc, any(target_os = "linux", target_os = "macos", target_os = "windows")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "linux", target_os = "windows", target_os = "macos"))))]
pub use desktop_mod::Struct as Struct;

#[cfg(any(doc, any(target_os = "ios", target_os = "android")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "ios", target_os = "android"))))]
pub mod mobile_mod;

#[cfg(any(doc, any(target_os = "ios", target_os = "android")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "ios", target_os = "android"))))]
pub use mobile_mod::Struct1 as Struct1;

#[cfg(any(doc, any(target_os = "ios", target_os = "android")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "ios", target_os = "android"))))]
pub use mobile_mod::Struct2 as Struct2;

#[cfg(any(doc, any(target_os = "ios", target_os = "android")))]
#[cfg_attr(docsrs, doc(cfg(any(target_os = "ios", target_os = "android"))))]
pub fn mobile_only_fn() {}

转换为此

target_cfg!{
    desktop => {
        pub mod desktop_mod;
        pub use desktop_mod::Struct as Struct;
    },
    mobile => {
        pub mod mobile_mod;
        pub use mobile_mod::Struct1 as Struct1;
        pub use mobile_mod::Struct2 as Struct2;
        pub fn mobile_only_fn() {}
    }
}

查看 示例 了解更多用法。

安装

在您的 Rust 项目文件夹中执行此命令。

cargo add cfg_boost

依赖

cfg_boost 无依赖,仅使用稳定的 Rust 库。

有问题?

查看 cfg_boost 维基,它包含大量信息。

 

通过 GitHub Sponsors 赞助我,并获得您的赞助等级。

无运行时依赖