################################################################################
#
# cppcms
#
################################################################################

CPPCMS_VERSION = 2.0.1
CPPCMS_SITE = $(call github,artyom-beilis,cppcms,v$(CPPCMS_VERSION))
CPPCMS_LICENSE = MIT, BSL-1.0 (boost), Public Domain (json2.js), Zlib (md5)
CPPCMS_LICENSE_FILES = COPYING.TXT MIT.TXT THIRD_PARTY_SOFTWARE.TXT
CPPCMS_INSTALL_STAGING = YES
CPPCMS_CXXFLAGS = $(TARGET_CXXFLAGS)

# disable rpath to avoid getting /usr/lib added to the link search
# path
CPPCMS_CONF_OPTS = \
	-DCMAKE_SKIP_RPATH=ON \
	-DCMAKE_CXX_FLAGS="$(CPPCMS_CXXFLAGS)"

CPPCMS_DEPENDENCIES = host-python3 pcre

ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y)
CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=OFF
CPPCMS_DEPENDENCIES += icu
CPPCMS_CXXFLAGS += "`$(STAGING_DIR)/usr/bin/icu-config --cxxflags`"
else
CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=ON
endif

ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=OFF
CPPCMS_DEPENDENCIES += libgcrypt
else
CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=ON
endif

ifeq ($(BR2_PACKAGE_OPENSSL),y)
CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=OFF
CPPCMS_DEPENDENCIES += openssl
else
CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=ON
endif

ifeq ($(BR2_PACKAGE_ZLIB),y)
CPPCMS_CONF_OPTS += -DDISABLE_GZIP=OFF
CPPCMS_DEPENDENCIES += zlib
else
CPPCMS_CONF_OPTS += -DDISABLE_GZIP=ON
endif

ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
# posix backend needs monetary.h which isn't available on uClibc
CPPCMS_CONF_OPTS += -DDISABLE_POSIX_LOCALE=on
endif

# We copy cppcms_tmpl_cc from staging to host because this file can be
# needed for compiling packages using cppcms. And it is not worth
# creating a host package just for a python script.
define CPPCMS_INSTALL_HOST_TOOLS
	cp $(STAGING_DIR)/usr/bin/cppcms_tmpl_cc $(HOST_DIR)/bin/cppcms_tmpl_cc
endef
CPPCMS_POST_INSTALL_STAGING_HOOKS += CPPCMS_INSTALL_HOST_TOOLS

$(eval $(cmake-package))
