An open API service indexing awesome lists of open source software.

https://github.com/openbytedev/build-target

A crate that provides programmatic access to information about the current build target inside build.rs.
https://github.com/openbytedev/build-target

Last synced: about 1 year ago
JSON representation

A crate that provides programmatic access to information about the current build target inside build.rs.

Awesome Lists containing this project

README

          

# build-target

[![CI](https://github.com/OpenByteDev/build-target/actions/workflows/ci.yml/badge.svg)](https://github.com/OpenByteDev/build-target/actions/workflows/ci.yml)
[![crates.io](https://img.shields.io/crates/v/build-target.svg)](https://crates.io/crates/build-target)
[![Documentation](https://docs.rs/build-target/badge.svg)](https://docs.rs/build-target)
[![dependency status](https://deps.rs/repo/github/openbytedev/build-target/status.svg)](https://deps.rs/repo/github/openbytedev/build-target)
[![MIT](https://img.shields.io/crates/l/build-target.svg)](https://github.com/OpenByteDev/build-target/blob/master/LICENSE)

A crate that provides programmatic access to information about the current build target inside `build.rs`.

## Examples
Prints all available information about the current build target.
```rust
// inside build.rs

fn main() {
// The panic is just used to print the information to the console.
panic!("current build target: {:#?}",
build_target::target().unwrap()
);
}
```

Gets the parts of the current build target individually.
```rust
// inside build.rs

fn main() {
let arch = build_target::target_arch().unwrap(); // eg. "x86_64", "aarch64", ...
let env = build_target::target_env().unwrap(); // eg. "gnu", "msvc", ...
let family = build_target::target_family().unwrap(); // eg. "windows", "unix", ...
let os = build_target::target_os().unwrap(); // eg. "android", "linux", ...
let triple = build_target::target_triple().unwrap(); // eg. "x86_64-unknown-linux-gnu", ...
}
```

## Attribution
This crate is inspired by and partially based on [`platforms`](https://crates.io/crates/platforms).

## License
Licensed under MIT license ([LICENSE](https://github.com/OpenByteDev/build-target/blob/master/LICENSE) or http://opensource.org/licenses/MIT)