Expand description
cargo xtask build-kobo โ cross-compile Cadmus for Kobo devices.
This task is a thin wrapper around cargo build --release --target arm-unknown-linux-gnueabihf -p cadmus. All dependency
building (thirdparty libs, MuPDF, libwebp, mupdf_wrapper) is
handled automatically by build.rs when cargo build runs.
Pre-flight steps performed before invoking cargo:
- Verify the Linaro ARM toolchain (
arm-linux-gnueabihf-gcc) is onPATH. - Build SQLite from source with UDL support for the ARM target
(placed in
target/cadmus-build-deps/arm-unknown-linux-gnueabihf/sqlite/).
Git submodules are not initialised up-front here: the Rust build
script clones them lazily, only when the cached Kobo build
artefacts in libs/ and target/cadmus-build-deps/... are
missing. This keeps warm-cache CI runs fast by avoiding the
recursive submodule clone done by actions/checkout.
The Kobo build is only available on Linux and macOS hosts.
Structsยง
- Build
Kobo Args - Arguments for
cargo xtask build-kobo.
Functionsยง
- cargo_
build_ ๐kobo - ensure_
linaro_ ๐toolchain - run
- Cross-compiles Cadmus for Kobo ARM devices.