[Buildroot] [PATCH] valijson: new package

santosh.multhalli santosh.multhalli at rockwellcollins.com
Fri Mar 4 13:03:32 UTC 2016


From: "Santosh Multhalli" <santosh.multhalli at rockwellcollins.com>

Valijson is a header-only JSON Schema Validation library for
C++.Add a patch 0001-CMake-Add-option-to-Install-headers-build-examples-a.patch
to install valijson headers ,provide optional compilation of unit tests and
examples.

Signed-off-by: Santosh Multhalli <santosh.multhalli at rockwellcollins.com>
---
 package/Config.in                                  |  1 +
 ...ption-to-Install-headers-build-examples-a.patch | 50 ++++++++++++++++++++++
 package/valijson/Config.in                         | 13 ++++++
 package/valijson/valijson.hash                     |  2 +
 package/valijson/valijson.mk                       | 15 +++++++
 5 files changed, 81 insertions(+)
 create mode 100644 package/valijson/0001-CMake-Add-option-to-Install-headers-build-examples-a.patch
 create mode 100644 package/valijson/Config.in
 create mode 100644 package/valijson/valijson.hash
 create mode 100644 package/valijson/valijson.mk

diff --git a/package/Config.in b/package/Config.in
index d4cc1d7..2367a15 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -808,6 +808,7 @@ menu "JSON/XML"
 	source "package/xerces/Config.in"
 	source "package/yajl/Config.in"
 	source "package/yaml-cpp/Config.in"
+	source "package/valijson/Config.in" 
 endmenu
 
 menu "Logging"
diff --git a/package/valijson/0001-CMake-Add-option-to-Install-headers-build-examples-a.patch b/package/valijson/0001-CMake-Add-option-to-Install-headers-build-examples-a.patch
new file mode 100644
index 0000000..4d103d5
--- /dev/null
+++ b/package/valijson/0001-CMake-Add-option-to-Install-headers-build-examples-a.patch
@@ -0,0 +1,50 @@
+From 9ac0e0cb20604a19a6953888f4d32f665725a86b Mon Sep 17 00:00:00 2001
+From: Bimal Jacob <Bimal.Jacob at rockwellcollins.com>
+Date: Thu, 19 Nov 2015 09:55:53 -0600
+Subject: CMake: Add option to Install headers, build examples and
+ tests
+
+Added 3 options - INSTALL_HEADERS, BUILD_EXAMPLES and BUILD_TESTS.
+INSTALL_HEADERS - Installs all header files, TRUE by default
+BUILD_EXAMPLES  - Builds all examples in examples directory, FALSE by
+                  default
+BUILD_TESTS     - Builds all test cases under tests directory, FALSE
+                  by default
+
+Signed-off-by: Bimal Jacob <bimal.jacob at rockwellcollins.com>
+Signed-off-by: Santosh Multhalli <santosh.multhalli at rockwellcollins.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9cff096..427dca7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,8 +1,13 @@
+ cmake_minimum_required (VERSION 2.6)
+ project (valijson)
+ 
+-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
+-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
++SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ")
++option (INSTALL_HEADERS "Install valijson Headers." TRUE)
++option (BUILD_EXAMPLES "Build valijson Examples." FALSE)
++option (BUILD_TESTS "Build valijson Tests." FALSE)
++if (BUILD_TESTS OR BUILD_EXAMPLES)
++
++SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g")
+ if(VALIJSON_CXX11_ADAPTERS STREQUAL "disabled")
+     message(STATUS "Building with C++11 support disabled")
+ else()
+@@ -100,8 +105,12 @@ set(TEST_LIBS gtest gtest_main jsoncpp)
+ if(VALIJSON_CXX11_ADAPTERS_ARE_ENABLED)
+     set(TEST_LIBS ${TEST_LIBS} json11)
+ endif()
++ 
+ 
+ target_link_libraries(test_suite ${TEST_LIBS} ${Boost_LIBRARIES})
+ target_link_libraries(custom_schema ${Boost_LIBRARIES})
+ target_link_libraries(external_schema ${Boost_LIBRARIES})
+-
++endif()
++if (INSTALL_HEADERS )
++install(DIRECTORY include/ DESTINATION include )
++endif()
diff --git a/package/valijson/Config.in b/package/valijson/Config.in
new file mode 100644
index 0000000..83c162d
--- /dev/null
+++ b/package/valijson/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_VALIJSON
+	bool "valijson"
+        depends on BR2_PACKAGE_BOOST
+        depends on BR2_PACKAGE_BOOST_REGEX
+	help
+	  Valijson is a header-only JSON Schema Validation library for
+	  C++. Valijson provides a simple validation API that allows you
+	  load JSON Schemas, and validate documents loaded by one of
+	  several supported parser libraries like boost, jsoncpp,
+          rapidjson and picoJSON.
+	  https://github.com/tristanpenman/valijson
+comment "Valijson  needs a BOOST package with Regex feature enabled"
+
diff --git a/package/valijson/valijson.hash b/package/valijson/valijson.hash
new file mode 100644
index 0000000..7d8a508
--- /dev/null
+++ b/package/valijson/valijson.hash
@@ -0,0 +1,2 @@
+# Locally Computed:
+sha256  20ee0ba111461011012a7a5534c8f88e6a6964a2d9c665fd1b4d629ee8b8e90a  valijson-4e941e75d99463eed988a782900e885befce47d9.tar.gz
diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk
new file mode 100644
index 0000000..0deacca
--- /dev/null
+++ b/package/valijson/valijson.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# valijson
+#
+################################################################################
+
+VALIJSON_VERSION = ee2d24714a10fc486d160a50f58aecdcfe988e88
+VALIJSON_SITE = $(call github,tristanpenman,valijson,$(VALIJSON_VERSION))
+VALIJSON_LICENSE = BSD-3c
+VALIJSON_LICENSE_FILES = LICENSE
+VALIJSON_INSTALL_STAGING = YES
+VALIJSON_INSTALL_TARGET = NO
+VALIJSON_DEPENDENCIES = boost host-pkgconf
+
+$(eval $(cmake-package))
-- 
2.5.0



More information about the buildroot mailing list