Fix build in Docs.rs

This commit is contained in:
Rafael Caricio 2021-03-06 20:25:09 +01:00 committed by Rafael Carício
parent d3a2a9eff3
commit da8bae1f55
2 changed files with 22 additions and 7 deletions

View file

@ -19,6 +19,14 @@ LittlevGL is compatible with <samp>#![no_std]</samp> environments by default.
![Rust bindings usage demo code.](demo.png)
## System Build Dependencies
In order to build the `lvgl` project you will need the following system dependencies to be installed:
```
$ sudo apt install build-essential llvm clang
```
## Usage
Edit your `Cargo.toml` file dependencies with:

View file

@ -12,17 +12,24 @@ fn main() {
let vendor_src = vendor.join("lvgl").join("src");
let lv_config_dir = {
let raw_path = env::var(CONFIG_NAME).unwrap_or_else(|_| {
panic!(
"The environment variable {} is required to be defined",
CONFIG_NAME
);
let conf_path = env::var(CONFIG_NAME).map(|raw_path| PathBuf::from(raw_path)).unwrap_or_else(|_| {
match std::env::var("DOCS_RS") {
Ok(_) => {
// We've detected that we are building for docs.rs
// so let's set the examples `lv_conf.h` file.
project_dir.join("..").join("examples").join("include")
}
Err(_) => panic!(
"The environment variable {} is required to be defined",
CONFIG_NAME
)
}
});
let conf_path = PathBuf::from(raw_path);
if !conf_path.exists() {
panic!(format!(
"Directory referenced by {} needs to exist",
"Directory {} referenced by {} needs to exist",
conf_path.to_string_lossy(),
CONFIG_NAME
));
}