- Rust toolchain in version 1.53.0 or higher.
- C compiler, e.g. GCC, available under
cc
binary. - Clang libraries (
libclang
) to generate bindings to C libraries. - zlib in version 1.2.7 or higher.
- JDK 11 or higher, e.g. OpenJDK.
- GraalVM for JDK 11 or higher with
native-image
binary.
Currently, only builds under Linux or macOS are supported.
If the repository has been cloned with git, first the submodules have to be initialized as follows:
git submodule init
git submodule update
If Strix has been obtained as a release zip file, this step can be skipped.
The compilation process can be started as follows for the release build:
cargo build --release
Strix can then be run by either of the following commands:
cargo run --release -- [OPTIONS]
target/release/strix [OPTIONS]
To build a binary distribution, the following command can be used:
cargo dist build
Afterwards, the folder target/dist
will be created and should contain the executable strix
,
which can be copied to any folder in the search path.
To create and install a package for Ubuntu or Debian, use the following commands:
cargo dist build-deb
sudo dpkg -i target/dist/strix-*.deb
To create and install a package for Arch Linux or Manjaro, use the following commands:
cargo dist build-pkg
sudo pacman -U target/dist/strix-*.pkg.tar.zst
To create and install a package for Fedora or CentOS, use the following commands:
cargo dist build-rpm
sudo rpm -i target/dist/strix-*.rpm
Execution of all tests requires additional dependencies to verify correctness of controllers:
The repository includes a script that installs these dependencies for the CI, which can be adapted for local installation.
The test suite can then be run as follows:
cargo test