mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 22:31:14 +00:00
53 lines
1.5 KiB
Markdown
53 lines
1.5 KiB
Markdown
# SixtyFPS build guide
|
|
|
|
This page explain how to build and test sixtyfps.
|
|
|
|
## Prerequisites
|
|
|
|
### Installing Rust
|
|
|
|
Install Rust by following the [Rust Getting Started Guide](https://www.rust-lang.org/learn/get-started).
|
|
|
|
Once this is done, you should have the ```rustc``` compiler and the ```cargo``` build system installed in your path.
|
|
|
|
### NodeJS backend
|
|
|
|
For the nodejs backend, the following component are needed:
|
|
|
|
* **node** (including npm)
|
|
* **python**
|
|
|
|
It would be nice if building the nodejs backend was optional, but right now it is part of the workspace.
|
|
We can still not build it by doing `cargo build --workspace --exclude sixtyfps-node`. But cargo test will fail.
|
|
|
|
### C++ dev (optional)
|
|
|
|
* **cmake** (3.16 or newer)
|
|
* A C++ compiler that can do C++17 (e.g., **MSVC 2019** on Windows)
|
|
|
|
## Testing
|
|
|
|
Most of the project is written in Rust, and compiling and running the test can
|
|
done with cargo.
|
|
|
|
```sh
|
|
cargo build
|
|
cargo test
|
|
```
|
|
|
|
**Important:** Note that `cargo test` does not work without first calling `cargo build` because the
|
|
C++ tests or the nodejs tests will not find the required dynamic library otherwise
|
|
|
|
## Examples
|
|
|
|
See the [examples](/examples) folder for examples to build, run and test.
|
|
|
|
## Running the viewer
|
|
|
|
SixtyFPS also includes a viewer tool that can load `.60`files dynamically at run-time. It is a
|
|
cargo-integrated binary and can be run directly on the `.60`files, for example:
|
|
|
|
```sh
|
|
cargo run --bin viewer -- examples/printerdemo/ui/printerdemo.60
|
|
```
|
|
|