2 releases
Uses new Rust 2024
new 0.1.1 | Mar 21, 2025 |
---|---|
0.1.0 | Mar 20, 2025 |
#37 in #verbose
124 downloads per month
14KB
126 lines
Cargo-Wrap
This crate is basically just Rust bindings for cargo
. For now supports the following flags and features:
Features
- Verbose logging (
--verbose
) - Release or Debug build modes (
--release
) - Custom job counts (
--jobs N
) - Custom target output directories (
CARGO_TARGET_DIR
) - Specify build targets (
--target X
) - Feature listing and activation (
--features X
,--no-default-features
) - Binary/Library build selection (
--bin X
,--lib X
) - Extra
rustc
flags (RUSTFLAGS
)
Installation
cargo add cargo_wrap
cargo_wrap = "0.1.1"
Examples
Basic Build
use cargo_wrap::{Builder, ProjectSettings};
use std::io;
fn main() -> io::Result<()> {
let mut settings = ProjectSettings::new("/path/to/project", None, None, false);
settings.set_release();
let builder = Builder::new(settings, 0, Some("output.log"))?;
builder.build()?;
Ok(())
}
Enable Features
use cargo_wrap::{Builder, ProjectSettings};
use std::io;
fn main() -> io::Result<()> {
let mut settings = ProjectSettings::new("/path/to/project", None, None, false);
settings.add_feature("my_feature".to_string());
let builder = Builder::new(settings, 0, None)?;
builder.build()?;
Ok(())
}
Changelog
0.1.0
- Initial commit
0.1.1
- Added additional
rustc
flag support
License
MIT
Dependencies
~260–495KB
~11K SLoC