blob: c7437eb9ed2db042f5bc402a8b8251f99ee9f579 [file] [log] [blame]
Patrick Williams2194f502022-10-16 14:26:09 -05001DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)"
2HOMEPAGE = "https://github.com/open62541/open62541.git"
3LICENSE = "MPL-2.0 & BSD-3-Clause & MIT"
4LIC_FILES_CHKSUM = "\
5 file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \
6 file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \
7 file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \
8"
9
10SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c"
Patrick Williamsb542dec2023-06-09 01:26:37 -050011SRCREV_opcua = "1b7e2b5d669661c568fda5577ee92011a029cf75"
Patrick Williams2194f502022-10-16 14:26:09 -050012SRCREV_mdnsd = "3151afe5899dba5125dffa9f4cf3ae1fe2edc0f0"
13SRCREV_ua-nodeset = "f71b3f411d5cb16097c3ae0c744f67ad45535ffb"
14SRCREV_mqtt-c = "f69ce1e7fd54f3b1834c9c9137ce0ec5d703cb4d"
15
16SRC_URI = " \
17 git://github.com/open62541/open62541.git;name=opcua;branch=1.3;protocol=https \
18 git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=git/deps/mdnsd \
19 git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=v1.04;destsuffix=git/deps/ua-nodeset \
20 git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=git/deps/mqtt-c \
21 file://0001-fix-build-do-not-install-git-files.patch \
22"
23
24S = "${WORKDIR}/git"
25
26inherit cmake python3native
27
28EXTRA_OECMAKE += "\
29 -DBUILD_SHARED_LIBS=ON \
30 -DUA_NAMESPACE_ZERO=FULL \
31 -DUA_LOGLEVEL=600 \
Patrick Williamsb542dec2023-06-09 01:26:37 -050032 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
Patrick Williams2194f502022-10-16 14:26:09 -050033"
34
Patrick Williams520786c2023-06-25 16:20:36 -050035PACKAGECONFIG ?= "encryption-mbedtls pubsub pubsub-eth subscriptions subscriptions-events"
Patrick Williams2194f502022-10-16 14:26:09 -050036PACKAGECONFIG[amalgamation] = "-DUA_ENABLE_AMALGAMATION=ON, -DUA_ENABLE_AMALGAMATION=OFF"
Patrick Williamse760df82023-05-26 11:10:49 -050037PACKAGECONFIG[encryption-mbedtls] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls, , , encryption-openssl"
38PACKAGECONFIG[encryption-openssl] = "-DUA_ENABLE_ENCRYPTION=OPENSSL, , openssl, , , encryption-mbedtls"
Patrick Williams520786c2023-06-25 16:20:36 -050039PACKAGECONFIG[multithreading] = "-DUA_MULTITHREADING=100, -DUA_MULTITHREADING=0"
Patrick Williams2194f502022-10-16 14:26:09 -050040PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF"
41PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF"
Patrick Williams520786c2023-06-25 16:20:36 -050042PACKAGECONFIG[subscriptions] = "-DUA_ENABLE_SUBSCRIPTIONS=ON, -DUA_ENABLE_SUBSCRIPTIONS=OFF"
43PACKAGECONFIG[subscriptions-events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON, -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF"
Andrew Geissler3eeda902023-05-19 10:14:02 -050044PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF"
Patrick Williams2194f502022-10-16 14:26:09 -050045
46do_configure:prepend:toolchain-clang:riscv64() {
47 sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
48}
49
50do_configure:prepend:toolchain-clang:riscv32() {
51 sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
52}
53