# Installation

> UCall for Rust

```sh
cargo add ucall
```

The crate links the UCall library, which its build script compiles through CMake, so building needs CMake and a C++20 compiler.
CMake builds StringZilla, ForkUnion and SmashTable from the trees of those crates, which the crate depends on, rather than fetching them again.
The library picks its I/O backend and CPU kernels when a server or client starts, so one build adapts to the kernel and CPU it runs on.

`use ucall::*;`

## version

Calls `ucall_version_name`.

```rust
pub fn version() -> &'static str
```

