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
File details
Details for the file arduino_cli_cmake_wrapper-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: arduino_cli_cmake_wrapper-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fc3f9c7057d108586ff449b9373e196f5ccb630d259d0ba1e4e9fc1539c889e |
|
MD5 | d6bc4f443e2516a89474336824098592 |
|
BLAKE2b-256 | ab520604ded7d7637cea4dccb877288ded896c5e6697e7c8d9c5dde766bfbd5a |