You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
1.9 KiB

#
# Copyright (C) 2019 Daniel Engberg <daniel.engberg.lists@pyret.net>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=jsoncpp
PKG_VERSION:=1.9.4
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/open-source-parsers/jsoncpp/tar.gz/$(PKG_VERSION)?
PKG_HASH:=e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1
PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
include ../../devel/meson/meson.mk
HOSTCC=$(HOSTCC_NOCACHE)
HOSTCXX=$(HOSTCXX_NOCACHE)
define Package/jsoncpp
SECTION:=libs
CATEGORY:=Libraries
TITLE:=jsoncpp
URL:=https://github.com/open-source-parsers/jsoncpp
DEPENDS:=+libstdcpp
endef
define Package/jsoncpp/description
JsonCpp is a C++ library that allows manipulating
JSON values, including serialization and
deserialization to and from strings. It can also
preserve existing comment in
unserialization/serialization steps, making it a
convenient format to store user input files.
endef
MESON_ARGS += \
-Db_lto=true \
-Dcpp_eh=none \
-Dcpp_rtti=false \
-Dtests=false
TARGET_CXXFLAGS += -DJSON_USE_EXCEPTION=0
TARGET_LDFLAGS += -Wl,--gc-sections
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/json $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjsoncpp.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/jsoncpp.pc $(1)/usr/lib/pkgconfig/
endef
define Package/jsoncpp/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjsoncpp.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,jsoncpp))