Arduino Cmake toolchain leveraging ``arduino-cli`` via python wrapper script
Project description
Arduino Cmake toolchain leveraging arduino-cli via python wrapper script. It does not intend to replace the arduino-cli tool, nor is it intended to be a full featured IDE-like solution.
This project seeks to programmatically scrape up the necessary parts of the compile and link calls from the arduino-cli tool, set CMake variables, and allow a CMake project to roughly emulate the Arduino compile process.
The goal is to make it possible to leverge the Arduino libraries in a CMake-bound framework, for Arduino supported targets. If you just want to compile a normal Arduino project from the command line, skip this project and CMake altogether and just use the arduino-cli as intended.
On the other hand, if you are trying to use a CMake-bound project as the primary development process, you need a way to extract the working compile process from the Arduino IDE and reformat it into a CMake Toolchain.
E.g.: To compile an F Prime project for an Arduino target using Arduino libraries, you need a shim like this to avoid hard dependence on the exact version or Arduino, Arduino Core, and the specific versions of installed libraries.
🚀 Installation
Most typically, the cmake tooling is included as a git submodule in your project, or it is included as an external project dependency. If you want to install the python wrapper directly, it can be done like this:
pip install arduino-cli-cmake-wrapper
You can also install the in-development version with:
pip install https://github.com/SterlingPeet/arduino-cli-cmake-wrapper/archive/main.zip
📝 Documentation
During initial development, documentation is sparse. It should be set up on readthedocs when the project is mature.
🤝 Contributing and Development
If you are working on developing the software, head on over to the Developer Notes page for orientation and quick reference. You can also take a look at the Contributing Guide.
🌎 Similar Projects
This project was not created in a vacuum. Here is a list of projects that came before this one and why they are different or not appropriate.
Arduino CMake: Original project to compile for Arduino in CMake, abandoned circa 2014
Arduino-CMake NG: Next Generation Arduino CMake tool, abandoned circa 2018, officially abandoned in 2020
Arduino CMake Toolchain: Named successor to NG, Abandoned almost immediately thereafter, circa 2020
Arduino AVR CMake: AVR-only CMake toolchain with support for VScode, intended as a template as explained on the Arduino forum
Changelog
v0.0.0 (2022-11-09)
🎉 Other
🎉 Initial Commit. [Sterling Peet]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for arduino_cli_cmake_wrapper-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fc3f9c7057d108586ff449b9373e196f5ccb630d259d0ba1e4e9fc1539c889e |
|
MD5 | d6bc4f443e2516a89474336824098592 |
|
BLAKE2b-256 | ab520604ded7d7637cea4dccb877288ded896c5e6697e7c8d9c5dde766bfbd5a |