xref: /OK3568_Linux_fs/buildroot/package/json-for-modern-cpp/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_JSON_FOR_MODERN_CPP
2*4882a593Smuzhiyun	bool "json-for-modern-cpp"
3*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
4*4882a593Smuzhiyun	depends on BR2_INSTALL_LIBSTDCPP
5*4882a593Smuzhiyun	help
6*4882a593Smuzhiyun	  Json for modern c++ has the following desing goals in mind:
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun	  - Intuitive syntax. In languages such as Python, JSON feels
9*4882a593Smuzhiyun	    like a first class data type. All the operator magic of
10*4882a593Smuzhiyun	    modern C++ is used to achieve the same feeling in c++.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	  - Trivial integration. The whole code consists of a single
13*4882a593Smuzhiyun	    header file json.hpp. That's it. No library, no
14*4882a593Smuzhiyun	    subproject, no dependencies, no complex build system. The
15*4882a593Smuzhiyun	    class is written in vanilla C++11. All in all, everything
16*4882a593Smuzhiyun	    should require no adjustment of compiler flags or project
17*4882a593Smuzhiyun	    settings.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	  - Serious testing. The class is heavily unit-tested and
20*4882a593Smuzhiyun	    covers 100% of the code, including all exceptional
21*4882a593Smuzhiyun	    behavior.  Furthermore, it is checked with Valgrind that
22*4882a593Smuzhiyun	    there are no memory leaks. To maintain high quality, the
23*4882a593Smuzhiyun	    project is following the Core Infrastructure Initiative
24*4882a593Smuzhiyun	    (CII) best practices.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	  https://github.com/nlohmann/json
27*4882a593Smuzhiyun
28*4882a593Smuzhiyuncomment "json-for-modern-cpp needs a toolchain w/ C++, gcc >= 4.9"
29*4882a593Smuzhiyun	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
30