This is main software repository for the x-IMU3. The repository includes the x-IMU3 GUI and APIs with examples for C, C++, C#, Python, and Rust. The x-IMU3 GUI is written in C++ using JUCE. The core API is written in Rust with a generated C interface layer. APIs in all other languages are wrappers for the C interface layer.
- Install C++ toolchain
- Install Visual Studio, including MSVC (Windows)
- Install Xcode (macOS)
- Install Rust toolchain using rustup
- Install Clion, including Rust plugin
- Configure Clion toolchain (Windows)
- Settings > Build, Execution, Deployment > Toolchains > Add > Visual Studio, Architecture: x86_amd64
The Run/Debug Configuration may indicate "Error: No Rust toolchain specified" after cloning the repo for the first time. If this happens then open Settings/Preferences from the File menu, navigate to Rust under Languages & Frameworks and click OK.
The github repository applies the following branch protection rules to the main branch. All commits must be made to a non-protected branch and submitted via a pull request before they can be merged into the the main branch.
- Require a pull request before merging
- Require linear history
- Include administrators
- Update version (edit and run version.py) and commit
- Push new version tag to master
- Publish APIs
- Python - Compile Rust-API then run setup.py
- Rust - Run publish.py