Skip to main content

xmake-workflow

Build and test the libuipc project using XMake. Use when building with xmake, running xmake f / xmake build / xmake run commands, selecting release/releasedbg/debug modes, or running Catch2 tests produced by xmake.

Source facts

Repository
spiriMirror/libuipc
Last source activity
April 22, 2026 at 07:12
Detected SKILL.md language
English
Stars
335
Forks
68

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
xmake-workflow
description
Build and test the libuipc project using XMake. Use when building with xmake, running xmake f / xmake build / xmake run commands, selecting release/releasedbg/debug modes, or running Catch2 tests produced by xmake.
# XMake Workflow for libuipc Run all xmake commands from the repository root (`libuipc/`). ## Configure ```bash xmake f -c ``` Add `-m releasedbg` (RelWithDebInfo equivalent) or `-m debug` to change mode. Default is `release`. ## Build ```bash xmake build -j8 ``` Keep `-j` low (e.g. `-j8`). NVCC is memory-hungry and can OOM with a high job count. Build one target: `xmake build -j8 core`. ## Target Names vs. Binary Names Test targets use the shared `uipc_test` rule in `apps/tests/xmake.lua`, which rewrites the binary basename to `uipc_test_<target>`. Use the **target name** for `xmake build` / `xmake run`; use the **binary name** only when executing the file directly. | Target name | Binary name | |-------------|-------------| | `core`, `geometry`, `common`, `sim_case`, `regression`, `sanity_check`, `backend_cuda` | `uipc_test_<target>` | | `hello_affine_body`, `hello_simplicial_complex`, `wrecking_ball`, `pyuipc` | same as target | List every runnable target with `xmake run --help`. ## Testing Tests use **Catch2**. Run via xmake (recommended): ```bash xmake run sim_case xmake run backend_cuda ``` Or execute the binary directly: `./build/<plat>/<arch>/<mode>/uipc_test_core` (e.g. `./build/linux/x86_64/releasedbg/uipc_test_core`; on Windows the path ends in `.exe`). Catch2 flags passthrough: - `--list-tests` — list all test cases - `[tag]` — filter by tag - `"test name"` — run a specific test ## Quick Reference | Step | Command | |------------------|----------------------------------------------------------| | Configure | `xmake f -c` (add `-m releasedbg` for RelWithDebInfo) | | Build | `xmake build -j8` | | Build one target | `xmake build -j8 <target>` | | List run targets | `xmake run --help` | | Run test | `xmake run <target>` | | Clean | `xmake clean` (add `-a` for all configs) |
View on GitHub