[Buildroot] [PATCH valijson v3] valijson: new package
santosh.multhalli
santosh.multhalli at rockwellcollins.com
Wed Mar 16 12:16:31 UTC 2016
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.
---
Changes v2 -> v3:
- changed indentation in package/valijson/Config.in (suggested by Samuel)
- updated the comments in (package/valijson/Config.in) to reflect boost dependecy (suggested by Thomas)
- updated to keep the alphabetical order in package/Config.in (suggested by Samuel)
---
Changes v1 -> v2:
- Patch splitted into two
0001-CMake-Add-options.patch
0002-CMake-Add-conditional-check-to-Install-headers-build-examples-a.patch
- Changed Config.in and valijson.mk as per comments ( suggested by Samuel and Thomas).
Signed-off-by: santosh.multhalli <santosh.multhalli at rockwellcollins.com>
---
package/Config.in | 1 +
package/valijson/0001-CMake-Add-options.patch | 18 +++++++++++
...check-to-Install-headers-build-examples-a.patch | 35 ++++++++++++++++++++++
package/valijson/Config.in | 12 ++++++++
package/valijson/valijson.hash | 2 ++
package/valijson/valijson.mk | 15 ++++++++++
6 files changed, 83 insertions(+)
create mode 100644 package/valijson/0001-CMake-Add-options.patch
create mode 100644 package/valijson/0002-CMake-Add-conditional-check-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..5409c09 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -805,6 +805,7 @@ menu "JSON/XML"
source "package/mxml/Config.in"
source "package/rapidjson/Config.in"
source "package/tinyxml/Config.in"
+ source "package/valijson/Config.in"
source "package/xerces/Config.in"
source "package/yajl/Config.in"
source "package/yaml-cpp/Config.in"
diff --git a/package/valijson/0001-CMake-Add-options.patch b/package/valijson/0001-CMake-Add-options.patch
new file mode 100644
index 0000000..a771ba6
--- /dev/null
+++ b/package/valijson/0001-CMake-Add-options.patch
@@ -0,0 +1,18 @@
+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
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,6 +3,9 @@
+
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
++option (INSTALL_HEADERS "Install valijson Headers." TRUE)
++option (BUILD_EXAMPLES "Build valijson Examples." FALSE)
++option (BUILD_TESTS "Build valijson Tests." FALSE)
+ if(VALIJSON_CXX11_ADAPTERS STREQUAL "disabled")
+ message(STATUS "Building with C++11 support disabled")
+ else()
diff --git a/package/valijson/0002-CMake-Add-conditional-check-to-Install-headers-build-examples-a.patch b/package/valijson/0002-CMake-Add-conditional-check-to-Install-headers-build-examples-a.patch
new file mode 100644
index 0000000..7959123
--- /dev/null
+++ b/package/valijson/0002-CMake-Add-conditional-check-to-Install-headers-build-examples-a.patch
@@ -0,0 +1,35 @@
+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 conditional check for options
+
+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,11 +1,13 @@
+ cmake_minimum_required (VERSION 2.6)
+ project (valijson)
+
+-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
++SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
+ 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)
++
+ if(VALIJSON_CXX11_ADAPTERS STREQUAL "disabled")
+ message(STATUS "Building with C++11 support disabled")
+ else()
+@@ -108,3 +110,7 @@
+ 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..5807a9d
--- /dev/null
+++ b/package/valijson/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_VALIJSON
+ bool "valijson"
+ select BR2_PACKAGE_BOOST
+ select 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.It depends on BOOST Libraries
+
+ https://github.com/tristanpenman/valijson
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..44aeba2
--- /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
+
+$(eval $(cmake-package))
--
2.5.0
More information about the buildroot
mailing list