Rust 是否可以仅在发布模式下调用build.rs?

Rust 是否可以仅在发布模式下调用build.rs?,rust,release,rust-cargo,Rust,Release,Rust Cargo,在生锈的板条箱中,是否可以仅在发布模式下调用build.rs 可以在Cargo.toml中指定: [package] build = "build.rs" 问题是,对于开发来说,它会延迟开始编译板条箱的源代码。政府似乎没有提供这样的选择 您可以使用此生成脚本Cargo将PROFILE环境变量传递到rustc调用,该调用可用于确定活动概要文件 // build.rs use std::env; pub fn main() { if Ok("release".to_owned()) ==

在生锈的板条箱中,是否可以仅在发布模式下调用build.rs

可以在Cargo.toml中指定:

[package]
build = "build.rs"

问题是,对于开发来说,它会延迟开始编译板条箱的源代码。政府似乎没有提供这样的选择

您可以使用此生成脚本
Cargo
PROFILE
环境变量传递到
rustc
调用,该调用可用于确定活动概要文件

// build.rs
use std::env;

pub fn main() {
    if Ok("release".to_owned()) == env::var("PROFILE") {
        panic!("I'm only panicking in release mode")
    }
}


有趣的是,甚至
build.rs
中的
#[cfg(not(debug_断言))]
(或类似内容)也不起作用。类似于:
[profile.release]build=“build.rs”
不工作欢迎使用堆栈溢出!看起来你的问题可能会由你的答案来回答。如果没有,请回答您的问题以解释差异。否则,我们可以将此问题标记为已回答。根据您的使用情况,您可以通过发出
rerunif changed=PATH
行来减少运行
build.rs
的频率。我的问题旨在最大限度地减少开发过程中获取编译器消息所花费的时间,\\谢谢,Shepmaster。以下是这个问题的不同之处。