summaryrefslogtreecommitdiffstats
path: root/package/json-for-modern-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'package/json-for-modern-cpp')
-rw-r--r--package/json-for-modern-cpp/Config.in29
-rw-r--r--package/json-for-modern-cpp/json-for-modern-cpp.hash3
-rw-r--r--package/json-for-modern-cpp/json-for-modern-cpp.mk17
3 files changed, 49 insertions, 0 deletions
diff --git a/package/json-for-modern-cpp/Config.in b/package/json-for-modern-cpp/Config.in
new file mode 100644
index 0000000000..b045cba684
--- /dev/null
+++ b/package/json-for-modern-cpp/Config.in
@@ -0,0 +1,29 @@
+config BR2_PACKAGE_JSON_FOR_MODERN_CPP
+ bool "json-for-modern-cpp"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+ depends on BR2_INSTALL_LIBSTDCPP
+ help
+ Json for modern c++ has the following desing goals in mind:
+
+ - Intuitive syntax. In languages such as Python, JSON feels
+ like a first class data type. All the operator magic of
+ modern C++ is used to achieve the same feeling in c++.
+
+ - Trivial integration. The whole code consists of a single
+ header file json.hpp. That's it. No library, no
+ subproject, no dependencies, no complex build system. The
+ class is written in vanilla C++11. All in all, everything
+ should require no adjustment of compiler flags or project
+ settings.
+
+ - Serious testing. The class is heavily unit-tested and
+ covers 100% of the code, including all exceptional
+ behavior. Furthermore, it is checked with Valgrind that
+ there are no memory leaks. To maintain high quality, the
+ project is following the Core Infrastructure Initiative
+ (CII) best practices.
+
+ https://github.com/nlohmann/json
+
+comment "json-for-modern-cpp needs a toolchain w/ C++, gcc >= 4.9"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash
new file mode 100644
index 0000000000..7f394aaee7
--- /dev/null
+++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 402464cd6d50c81bb6a683d07c537e5a8c4684fd1186826d3aa1385ce6adac13 json-v3.0.1.tar.gz
+sha256 6a6115fc4a7239a135f2dce8d33f94cb8a936b8f608ac0f6699fbac278b0dd5b LICENSE.MIT
diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk
new file mode 100644
index 0000000000..6413d6255f
--- /dev/null
+++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# json-for-modern-cpp
+#
+################################################################################
+
+JSON_FOR_MODERN_CPP_VERSION = v3.0.1
+JSON_FOR_MODERN_CPP_SOURCE = json-${JSON_FOR_MODERN_CPP_VERSION}.tar.gz
+JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(JSON_FOR_MODERN_CPP_VERSION))
+JSON_FOR_MODERN_CPP_LICENSE = MIT
+JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT
+JSON_FOR_MODERN_CPP_INSTALL_STAGING = YES
+# header only library
+JSON_FOR_MODERN_CPP_INSTALL_TARGET = NO
+JSON_FOR_MODERN_CPP_CONF_OPTS = -DJSON_BuildTests=OFF
+
+$(eval $(cmake-package))
OpenPOWER on IntegriCloud