DART Build System
Load this skill when working with DART's build system.
Quick Commands
pixi run configure # Configure CMake
pixi run build # Build
pixi run test # Run tests
pixi run test-all # Full validation (lint + build + tests)
pixi run -e cuda test-all # CUDA-enabled full validation on Linux CUDA hosts
pixi run lint # Format code
Full Documentation
For complete build instructions, read: docs/onboarding/building.md
For build system internals (CMake, dependencies): docs/onboarding/build-system.md
Common Issues
| Issue | Solution |
| ------------------ | ------------------------------------------ |
| CMake not found | pixi install |
| Missing dependency | Check pixi.toml |
| Build failure | pixi run configure then pixi run build |
| Linking error | Check CMakeLists.txt in relevant module |
CUDA Notes
- On Linux hosts with visible NVIDIA GPUs, the CUDA Pixi config auto-detects
compute capabilities for
DART_CUDA_ARCHITECTURES; setDART_CUDA_ARCHITECTURES=<arch>only when overriding that detected list. - If CUDA runtime tests fail with unsupported PTX/toolchain errors, verify the generated CUDA flags include the local GPU architecture before assuming a kernel bug.
Pixi Lockfiles
- Do not edit
pixi.lockby hand. Change dependency constraints inpixi.toml, then run a Pixi command such aspixi installto let Pixi regenerate the lockfile. - If
pixi.lockchanges format or has broad solver churn, keep the generated output and call it out in the PR rather than attempting to splice lockfile entries manually.
Filament GUI Visual Checks
- For Filament GUI rendering changes, run a bounded headless capture through
pixi run ex dartsim --headless --frames ... --width ... --height ... --screenshot .... Prefer at least 1280px width when judging visual quality. - Inspect the rendered image yourself; do not rely only on command success. The headless smoke analyzer under the private Filament test helpers is useful for a smoke signal, but it is not a substitute for visual inspection.
- If the user explicitly asks for
pixi run ex dartsim, also run that exact entry point and terminate it after confirming the GUI binary launches.
Key Files
pixi.toml- Package managementCMakeLists.txt- Build configurationcmake/- CMake modules