1################################################################################ 2# 3# open62541 4# 5################################################################################ 6 7OPEN62541_VERSION = v1.3.10 8OPEN62541_SITE_METHOD = git 9OPEN62541_SITE = https://github.com/open62541/open62541.git 10OPEN62541_GIT_SUBMODULES = YES 11OPEN62541_INSTALL_STAGING = YES 12OPEN62541_LICENSE = MPL-2.0 13OPEN62541_LICENSE_FILES = LICENSE 14OPEN62541_CPE_ID_VENDOR = open62541 15 16# Force Release build to remove -Werror. 17# Don't use git describe to get the version number. 18# Disable hardening options to let Buildroot handle it. 19OPEN62541_CONF_OPTS = \ 20 -DCMAKE_BUILD_TYPE=Release \ 21 -DGIT_EXECUTABLE=NO \ 22 -DOPEN62541_VERSION=$(OPEN62541_VERSION) \ 23 -DUA_ENABLE_HARDENING=OFF \ 24 -DUA_FORCE_WERROR=OFF 25 26ifeq ($(BR2_PACKAGE_OPEN62541_ENCRYPTION_MBEDTLS),y) 27OPEN62541_DEPENDENCIES += mbedtls 28OPEN62541_CONF_OPTS += -DUA_ENABLE_ENCRYPTION=MBEDTLS 29endif 30 31ifeq ($(BR2_PACKAGE_OPEN62541_ENCRYPTION_OPENSSL),y) 32OPEN62541_DEPENDENCIES += openssl 33OPEN62541_CONF_OPTS += -DUA_ENABLE_ENCRYPTION=OPENSSL 34endif 35 36ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL),y) 37OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=MINIMAL -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF 38else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED),y) 39OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=REDUCED 40else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL),y) 41OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=FULL 42endif 43 44ifeq ($(BR2_PACKAGE_OPEN62541_HISTORIZING),y) 45OPEN62541_CONF_OPTS += -DUA_ENABLE_HISTORIZING=ON 46else 47OPEN62541_CONF_OPTS += -DUA_ENABLE_HISTORIZING=OFF 48endif 49 50ifeq ($(BR2_PACKAGE_OPEN62541_DISCOVERY),y) 51OPEN62541_CONF_OPTS += -DUA_ENABLE_DISCOVERY=ON 52else 53OPEN62541_CONF_OPTS += -DUA_ENABLE_DISCOVERY=OFF 54endif 55 56ifeq ($(BR2_PACKAGE_OPEN62541_JSON_ENCODING),y) 57OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=ON 58else 59OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=OFF 60endif 61 62ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB),y) 63OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=ON 64else 65OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=OFF 66endif 67 68ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES),y) 69OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON 70else 71OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=OFF 72endif 73 74ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL),y) 75OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON 76else 77OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF 78endif 79 80ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS),y) 81OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON 82else 83OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=OFF 84endif 85 86ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_ETH_UADP),y) 87OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_ETH_UADP=ON 88else 89OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_ETH_UADP=OFF 90endif 91 92# Remove unneeded files 93define OPEN62541_REMOVE_UNNEEDED_FILES 94 $(RM) -r $(TARGET_DIR)/usr/share/open62541 95endef 96 97OPEN62541_POST_INSTALL_TARGET_HOOKS += OPEN62541_REMOVE_UNNEEDED_FILES 98 99$(eval $(cmake-package)) 100