From 58edee42a632046c06d519addef800cd2d7f0cd3 Mon Sep 17 00:00:00 2001 From: Jordan Bayles Date: Mon, 12 Jan 2026 18:11:20 -0800 Subject: [PATCH 1/2] Cleanup README.md, fix broken link. --- README.md | 52 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c8b42a9be..c2d3b1a14 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ [![badge](https://img.shields.io/badge/document-doxygen-brightgreen)](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html) [![Coverage Status](https://coveralls.io/repos/github/open-source-parsers/jsoncpp/badge.svg?branch=master)](https://coveralls.io/github/open-source-parsers/jsoncpp?branch=master) - [JSON][json-org] is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. @@ -14,10 +13,9 @@ pairs. JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve -existing comment in unserialization/serialization steps, making it a convenient +existing comment in deserialization/serialization steps, making it a convenient format to store user input files. - ## Documentation [JsonCpp documentation][JsonCpp-documentation] is generated using [Doxygen][]. @@ -25,7 +23,6 @@ format to store user input files. [JsonCpp-documentation]: http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html [Doxygen]: http://www.doxygen.org - ## A note on backward-compatibility * `1.y.z` is built with C++11. @@ -34,42 +31,63 @@ format to store user input files. * Major versions maintain binary-compatibility. ### Special note -The branch `00.11.z`is a new branch, its major version number `00` is to show that it is -different from `0.y.z` and `1.y.z`, the main purpose of this branch is to make a balance -between the other two branches. Thus, users can use some new features in this new branch -that introduced in 1.y.z, but can hardly applied into 0.y.z. + +The branch `00.11.z`is a new branch, its major version number `00` is to show +that it is different from `0.y.z` and `1.y.z`, the main purpose of this branch +is to make a balance between the other two branches. Thus, users can use some +new features in this new branch that introduced in 1.y.z, but can hardly applied +into 0.y.z. ## Using JsonCpp in your project ### The vcpkg dependency manager -You can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: +You can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) +dependency manager: + +```sh git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install ./vcpkg install jsoncpp +``` -The JsonCpp port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. +The JsonCpp port in vcpkg is kept up to date by Microsoft team members and +community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) +on the vcpkg repository. ### Conan package manager -You can download and install JsonCpp using the [Conan](https://conan.io/) package manager: +You can download and install JsonCpp using the [Conan](https://conan.io/) +package manager: +```sh conan install -r conancenter --requires="jsoncpp/[*]" --build=missing +``` -The JsonCpp package in Conan Center is kept up to date by [ConanCenterIndex](https://github.com/conan-io/conan-center-index) contributors. If the version is out of date, please create an issue or pull request on the Conan Center Index repository. +The JsonCpp package in Conan Center is kept up to date by [ConanCenterIndex](https://github.com/conan-io/conan-center-index) +contributors. If the version is out of date, please create an issue or pull request on the +Conan Center Index repository. ### Amalgamated source -https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated) + +See the [Wiki entry on Amalgamated Source](https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)). ### The Meson Build System -If you are using the [Meson Build System](http://mesonbuild.com), then you can get a wrap file by downloading it from [Meson WrapDB](https://wrapdb.mesonbuild.com/jsoncpp), or simply use `meson wrap install jsoncpp`. + +If you are using the [Meson Build System](http://mesonbuild.com), then you can +get a wrap file by downloading it from [Meson WrapDB](https://mesonbuild.com/Wrapdb-projects.html), +or simply use `meson wrap install jsoncpp`. ### Other ways -If you have trouble, see the [Wiki](https://github.com/open-source-parsers/jsoncpp/wiki), or post a question as an Issue. + +If you have trouble, see the +[Wiki](https://github.com/open-source-parsers/jsoncpp/wiki), or post a question +as an Issue. ## License -See the `LICENSE` file for details. In summary, JsonCpp is licensed under the -MIT license, or public domain if desired and recognized in your jurisdiction. +See the [LICENSE](./LICENSE) file for details. In summary, JsonCpp is licensed +under the MIT license, or public domain if desired and recognized in your +jurisdiction. From ea980465edd352b725756cf25bcd39c5933c8ef9 Mon Sep 17 00:00:00 2001 From: Jordan Bayles Date: Mon, 12 Jan 2026 18:43:07 -0800 Subject: [PATCH 2/2] cleanup readme vcpkg notes --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c2d3b1a14..fbdd0bee6 100644 --- a/README.md +++ b/README.md @@ -43,19 +43,62 @@ into 0.y.z. ### The vcpkg dependency manager You can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) -dependency manager: +dependency manager, which has installation instruction dependent on your +build system. For example, if you are in a CMake project, the +[CMake install tutorial](https://learn.microsoft.com/en-us/vcpkg/get_started/get-started?pivots=shell-powershell) +suggests the follow installation method. + +First, clone and set up `vcpkg`. ```sh git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh - ./vcpkg integrate install - ./vcpkg install jsoncpp ``` -The JsonCpp port in vcpkg is kept up to date by Microsoft team members and -community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) -on the vcpkg repository. +Then, create a [vcpkg.json manifest](https://learn.microsoft.com/en-us/vcpkg/reference/vcpkg-json), +enabling manifest mode and adding JsonCpp to the manifest's dependencies list. + +```sh + vcpkg new --application + vcpkg add port jsoncpp +``` + +> [!NOTE]: you can use vcpkg in either classic mode or manifest mode (recommended). + +#### Classic mode + +If your project does not have a `vcpkg.json`, +your project is in [Classic mode](https://learn.microsoft.com/en-us/vcpkg/concepts/classic-mode) +you can install JsonCpp by directly invoking the `install` command: + +```sh + vcpkg install jsoncpp +``` + +### Manifest mode + +If your project *does* have a vcpkg.json manifest, your project is in [Manifest mode](https://learn.microsoft.com/en-us/vcpkg/concepts/manifest-mode) +and you need to add JsonCpp to your package manifest dependencies, then invoke +install with no arguments. + +```sh + vcpkg add port jsoncpp + vcpkg install +``` + +Example manifest: + +```sh +{ + "name": "best-app-ever", + "dependencies": [ "jsoncpp" ], +} +``` + +> [!NOTE] The JsonCpp port in vcpkg is kept up to date by Microsoft team members and community contributors. +> If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) +> on the vcpkg repository. ### Conan package manager