#cargo #cargo-toml

macro has_command

Allows checking if host machine supports a given command

1 unstable release

0.1.0 Oct 17, 2019

#263 in #cargo-toml

MIT license

5KB

has_command

Procedural macro for checking if a host system supports desired command.

Requirements

  • Rust ^1.30

Usage

Add dependency to your Cargo.toml

[dependencies]
has_command = "*"

Add this to your code

use has_command::has_command;

or

#[macro_use]
extern_crate has_command;

Then you can use it as

use std::process::Command;

fn main() {
    run_ls();
}

#[has_command(ls)]
fn run_ls() {
    assert!(Command::new("ls")
        .output()
        .expect("ls should be supported")
        .status
        .success()
    );
}

Dependencies

~1.5MB
~37K SLoC