nlohmann / json

JSON for Modern C++
https://json.nlohmann.me
MIT License
42.01k stars 6.63k forks source link

PlatformIO integration #4015

Open pidpawel opened 1 year ago

pidpawel commented 1 year ago

First of all thank you for this amazing library. I really do enjoy working with it.

Secondly this pull request is my stab at adding this library to a PlatformIO environment. PlatformIO is a tool that streamlines environment setup for embedded development. It takes care of things like getting proper compiler variant, setting up all the required compiler flags, linker scripts, etc. It even does some IDE setup, if needed. If that weren't enough it also manages libraries and project dependencies reasonably well. This is where this PR comes in.

Each of the PlatformIO libraries needs a library.json file (which this PR includes) and may be uploaded to PlatformIO's registry (https://registry.platformio.org/) (which this PR does not). Technically uploading to said registry is recommended and makes the libraries slightly easier for users to use, but it requires setting up accounts and regular uploads to said service (which would require a CI changes to be sustainable) so I decided not to include it right now. If the current solution will gain traction among users I can help with setting all the "proper" channels.

I also edited README.md - my changes are in the section Package managers despite PlatformIO technically being closer to a build system due to the said "registry" feature above, which I hope this library make into one day.

Sorry for the multiple commits in the PR - I kinda couldn't resist testing the GitHub's online editor for a single JSON ;-) file change.

Let me know what you think and have a wonderful day Paweł

coveralls commented 1 year ago

Coverage Status

Coverage: 100.0%. Remained the same when pulling 0f2457edfd1f2cb4b8df5beceff0bb8965469dfe on pidpawel:develop into 6af826d0bdb55e4b69e3ad817576745335f243ca on nlohmann:develop.