This PR replaces the json parser/serializer used for the wire protocol.
Motivation and Context
The existing json library was responsible for compiler warnings. A newer version of the library was not found.
Also removes dependency to boost as the new json library has no dependencies.
How Has This Been Tested?
It is a refactoring for part of the code that has unit tests and is used to execute the examples.
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
Checklist:
[x] It is my own work, its copyright is implicitly assigned to the project and no substantial part of it has been copied from other sources (including Stack Overflow). In rare occasions this is acceptable, like in CMake modules where the original copyright information should be kept.
[x] I'm using the same code standards as the existing code (indentation, spacing, variable naming, ...).
[x] I've added tests for my code.
[x] I have verified whether my change requires changes to the documentation
[x] My change either requires no documentation change or I've updated the documentation accordingly.
[x] My branch has been rebased to main, keeping only relevant commits.
Summary
Use nlohmann/json library instead of json spirit.
Details
This PR replaces the json parser/serializer used for the wire protocol.
Motivation and Context
The existing json library was responsible for compiler warnings. A newer version of the library was not found. Also removes dependency to boost as the new json library has no dependencies.
How Has This Been Tested?
It is a refactoring for part of the code that has unit tests and is used to execute the examples.
Types of changes
Checklist: