# lightvgl-sys
Rust raw bindings for the LVGL C library.
## Usage
Build requires the following environment variables to be set:
- `DEP_LV_CONFIG_PATH`: Path to the directory containing the `lv_conf.h` header file used for configuration of the LVGL library.
It is easier to store them in `.cargo/config.toml` then rust-analyzer will also pick them up.
```toml
[env]
DEP_LV_CONFIG_PATH = { relative = true, value = "." }
```
Alternatively, it can be added before cargo commands:
```sh
DEP_LV_CONFIG_PATH=`pwd` cargo build
```
## Optional configuration
You might as well need to set one or more of these env variables, especially when cross-compiling:
- `BINDGEN_EXTRA_CLANG_ARGS`: Extra clang arguments to be passed to bindgen
- `LV_COMPILE_ARGS`: Extra arguments to be passed both to bindgen and to the C compiler
- `CROSS_COMPILE`: Target triple when cross-compiling
- `LIBCLANG_PATH`: Custom *libclang.so* location
## Compatibility table
| 9.4.x | 9.4.0 |
| 9.3.x | 9.3.0 |
| 9.2.x | 9.2.2 |
## See also
If looking for safe bindings, check out [lv_bevy_ecs](https://github.com/SakiiCode/lv_bevy_ecs)