Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can a build script take arguments?

Tags:

rust

I was going through the build script documentation and was wondering if I can pass any argument to the script in build.rs from the command line.

fn main() {
    let args: Vec<String> = env::args().collect();
    let var = &args[1];
}

Would something like this work in the build script? And how could I specify the arguments from command line?

like image 882
Dragonight Avatar asked Mar 02 '26 08:03

Dragonight


1 Answers

No.

Documentation suggests passing data to the build script using environment variables.

There is no documentation indicating that it can be done and the test suite does not test for it. It only tests for environment variables.

I attempted the method that @Stephan suggests from Passing program arguments through Cargo, however cargo build does not follow the same behavior as cargo run:

$ cargo build -- uoeuoe
error: Found argument 'uoeuoe' which wasn't expected, or isn't valid in this context

USAGE:
    cargo.exe build [OPTIONS]

For more information try --help
like image 162
user25064 Avatar answered Mar 04 '26 07:03

user25064



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!