A os agnostic way to get a path separator in macros
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Cargo.toml
LICENSE.Apache2
LICENSE.MIT
README.md

README.md

Get the path separator for your OS

When you want to include!(_) generated files, cargo will ask you to put them in $OUT_DIR. However, the "usual" way of

include!(concat!(env!("OUT_DIR"), "/somefile.rs"));

will fail on some windows systems, because they fail to understand the / path separator. This crate allows you to replace that with:

include!(join_path!(env!("OUT_DIR"), "somefile.rs"));

This will work on all operating systems. You can create paths starting with the separator by prepending / to the join_path! arguments:

join_path!(/ "usr", "local", "lib");

Usage

Add this to your Cargo.toml:

pathsep = "0.1"

Then you can use #[macro_use] extern crate pathsep; in your crate root. As of Rust 1.30, you can also omit the #[macro_use] and use pathsep::join_path; directly.

License

This code is licensed under the terms of the Apache License 2.0 or the MIT license, at your discretion.