diff options
Diffstat (limited to 'src/3rd_party-static/jsoncpp/README.txt')
m--------- | src/3rd_party-static/jsoncpp | 0 | ||||
-rw-r--r-- | src/3rd_party-static/jsoncpp/README.txt | 172 |
2 files changed, 0 insertions, 172 deletions
diff --git a/src/3rd_party-static/jsoncpp b/src/3rd_party-static/jsoncpp new file mode 160000 +Subproject 9e0d70aa66e6ba993dd05723ca64c26ab00f357 diff --git a/src/3rd_party-static/jsoncpp/README.txt b/src/3rd_party-static/jsoncpp/README.txt deleted file mode 100644 index 51a098a810..0000000000 --- a/src/3rd_party-static/jsoncpp/README.txt +++ /dev/null @@ -1,172 +0,0 @@ -* Introduction: - ============= - -JSON (JavaScript Object Notation) is a lightweight data-interchange format. -It can represent integer, real number, string, an ordered sequence of -value, and a collection of name/value pairs. - -JsonCpp (http://jsoncpp.sourceforge.net/) is a simple API to manipulate -JSON value, handle serialization and unserialization to string. - -It can also preserve existing comment in unserialization/serialization steps, -making it a convenient format to store user input files. - -Unserialization parsing is user friendly and provides precise error reports. - - -* Building/Testing: - ================= - -JsonCpp uses Scons (http://www.scons.org) as a build system. Scons requires -python to be installed (http://www.python.org). - -You download scons-local distribution from the following url: -http://sourceforge.net/projects/scons/files/scons-local/1.2.0/ - -Unzip it in the directory where you found this README file. scons.py Should be -at the same level as README. - -python scons.py platform=PLTFRM [TARGET] -where PLTFRM may be one of: - suncc Sun C++ (Solaris) - vacpp Visual Age C++ (AIX) - mingw - msvc6 Microsoft Visual Studio 6 service pack 5-6 - msvc70 Microsoft Visual Studio 2002 - msvc71 Microsoft Visual Studio 2003 - msvc80 Microsoft Visual Studio 2005 - msvc90 Microsoft Visual Studio 2008 - linux-gcc Gnu C++ (linux, also reported to work for Mac OS X) - -Notes: if you are building with Microsoft Visual Studio 2008, you need to -setup the environment by running vcvars32.bat (e.g. MSVC 2008 command prompt) -before running scons. - -Adding platform is fairly simple. You need to change the Sconstruct file -to do so. - -and TARGET may be: - check: build library and run unit tests. - - -* Running the test manually: - ========================== - -Notes that test can be run by scons using the 'check' target (see above). - -You need to run test manually only if you are troubleshooting an issue. - -In the instruction below, replace "path to jsontest.exe" with the path -of the 'jsontest' executable that was compiled on your platform. - -cd test -# This will run the Reader/Writer tests -python runjsontests.py "path to jsontest.exe" - -# This will run the Reader/Writer tests, using JSONChecker test suite -# (http://www.json.org/JSON_checker/). -# Notes: not all tests pass: JsonCpp is too lenient (for example, -# it allows an integer to start with '0'). The goal is to improve -# strict mode parsing to get all tests to pass. -python runjsontests.py --with-json-checker "path to jsontest.exe" - -# This will run the unit tests (mostly Value) -python rununittests.py "path to test_lib_json.exe" - -You can run the tests using valgrind: -python rununittests.py --valgrind "path to test_lib_json.exe" - - -* Building the documentation: - =========================== - -Run the python script doxybuild.py from the top directory: - -python doxybuild.py --open --with-dot - -See doxybuild.py --help for options. - -Notes that the documentation is also available for download as a tarball. -The documentation of the latest release is available online at: -http://jsoncpp.sourceforge.net/ - -* Generating amalgamated source and header - ======================================== - -JsonCpp is provided with a script to generate a single header and a single -source file to ease inclusion in an existing project. - -The amalgamated source can be generated at any time by running the following -command from the top-directory (requires python 2.6): - -python amalgamate.py - -It is possible to specify header name. See -h options for detail. By default, -the following files are generated: -- dist/jsoncpp.cpp: source file that need to be added to your project -- dist/json/json.h: header file corresponding to use in your project. It is -equivalent to including json/json.h in non-amalgamated source. This header -only depends on standard headers. -- dist/json/json-forwards.h: header the provides forward declaration -of all JsonCpp types. This typically what should be included in headers to -speed-up compilation. - -The amalgamated sources are generated by concatenating JsonCpp source in the -correct order and defining macro JSON_IS_AMALGAMATION to prevent inclusion -of other headers. - -* Using json-cpp in your project: - =============================== - -include/ should be added to your compiler include path. jsoncpp headers -should be included as follow: - -#include <json/json.h> - - -* Adding a reader/writer test: - ============================ - -To add a test, you need to create two files in test/data: -- a TESTNAME.json file, that contains the input document in JSON format. -- a TESTNAME.expected file, that contains a flatened representation of - the input document. - -TESTNAME.expected file format: -- each line represents a JSON element of the element tree represented - by the input document. -- each line has two parts: the path to access the element separated from - the element value by '='. Array and object values are always empty - (e.g. represented by either [] or {}). -- element path: '.' represented the root element, and is used to separate - object members. [N] is used to specify the value of an array element - at index N. -See test_complex_01.json and test_complex_01.expected to better understand -element path. - - -* Understanding reader/writer test output: - ======================================== - -When a test is run, output files are generated aside the input test files. -Below is a short description of the content of each file: - -- test_complex_01.json: input JSON document -- test_complex_01.expected: flattened JSON element tree used to check if - parsing was corrected. - -- test_complex_01.actual: flattened JSON element tree produced by - jsontest.exe from reading test_complex_01.json -- test_complex_01.rewrite: JSON document written by jsontest.exe using the - Json::Value parsed from test_complex_01.json and serialized using - Json::StyledWritter. -- test_complex_01.actual-rewrite: flattened JSON element tree produced by - jsontest.exe from reading test_complex_01.rewrite. -test_complex_01.process-output: jsontest.exe output, typically useful to - understand parsing error. - -* License - ======= - -See file LICENSE for details. Basically JsonCpp is licensed under -MIT license, or public domain if desired and recognized in your jurisdiction. |