aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qtopcua
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/qtopcua
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/qtopcua')
-rw-r--r--vcpkg/ports/qtopcua/fix-build.patch16
-rw-r--r--vcpkg/ports/qtopcua/portfile.cmake37
-rw-r--r--vcpkg/ports/qtopcua/vcpkg.json70
3 files changed, 123 insertions, 0 deletions
diff --git a/vcpkg/ports/qtopcua/fix-build.patch b/vcpkg/ports/qtopcua/fix-build.patch
new file mode 100644
index 0000000..27b6b58
--- /dev/null
+++ b/vcpkg/ports/qtopcua/fix-build.patch
@@ -0,0 +1,16 @@
+diff --git a/src/plugins/opcua/open62541/qopen62541.h b/src/plugins/opcua/open62541/qopen62541.h
+index a4f63df..877888b 100644
+--- a/src/plugins/opcua/open62541/qopen62541.h
++++ b/src/plugins/opcua/open62541/qopen62541.h
+@@ -18,7 +18,10 @@
+ #pragma clang diagnostic ignored "-Wunused-parameter"
+ #endif
+
+-#include <open62541.h>
++#include <open62541/client.h>
++#include <open62541/client_config_default.h>
++#include <open62541/client_subscriptions.h>
++#include <open62541/server.h>
+
+ #if defined(_MSC_VER)
+ #pragma warning(pop)
diff --git a/vcpkg/ports/qtopcua/portfile.cmake b/vcpkg/ports/qtopcua/portfile.cmake
new file mode 100644
index 0000000..0250fd5
--- /dev/null
+++ b/vcpkg/ports/qtopcua/portfile.cmake
@@ -0,0 +1,37 @@
+set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
+include("${SCRIPT_PATH}/qt_install_submodule.cmake")
+
+set(${PORT}_PATCHES fix-build.patch)
+
+# General features:
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+FEATURES
+ "open62541" FEATURE_open62541
+# "open62541" FEATURE_open62541_security # requires vendored open62541
+ "uacpp" FEATURE_uacpp
+ "ns0idnames" FEATURE_ns0idnames
+ "ns0idgenerator" FEATURE_ns0idgenerator
+ "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick
+INVERTED_FEATURES
+ "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick
+ )
+if("open62541" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -DINPUT_open62541=system)
+ vcpkg_find_acquire_program(PYTHON3)
+else()
+ list(APPEND FEATURE_OPTIONS -DINPUT_open62541=no)
+endif()
+
+if("uacpp" IN_LIST FEATURES)
+ message(WARNING "\nPlease note that you have to install the Unified Automation C++ SDK yourself.\n")
+endif()
+
+
+set(TOOL_NAMES
+ qopcuaxmldatatypes2cpp
+)
+qt_install_submodule(PATCHES ${${PORT}_PATCHES}
+ TOOL_NAMES ${TOOL_NAMES}
+ CONFIGURE_OPTIONS
+ ${FEATURE_OPTIONS}
+ )
diff --git a/vcpkg/ports/qtopcua/vcpkg.json b/vcpkg/ports/qtopcua/vcpkg.json
new file mode 100644
index 0000000..9f24549
--- /dev/null
+++ b/vcpkg/ports/qtopcua/vcpkg.json
@@ -0,0 +1,70 @@
+{
+ "name": "qtopcua",
+ "version": "6.9.1",
+ "description": "The Qt OPC UA module implements a Qt API to interact with OPC UA on top of a 3rd party OPC UA stack.",
+ "homepage": "https://www.qt.io/",
+ "license": null,
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "network"
+ ]
+ },
+ {
+ "name": "qtopcua",
+ "host": true,
+ "default-features": false
+ }
+ ],
+ "default-features": [
+ "gds",
+ "ns0idnames",
+ "open62541"
+ ],
+ "features": {
+ "gds": {
+ "description": "Support for global discovery server"
+ },
+ "ns0idgenerator": {
+ "description": "Namespace 0 NodeIds generator from the NodeIds.csv file.",
+ "supports": "native"
+ },
+ "ns0idnames": {
+ "description": "Support for namespace 0 NodeId names"
+ },
+ "open62541": {
+ "description": "Open62541 with plugin to connect to servers with signing and encryption",
+ "dependencies": [
+ {
+ "name": "open62541",
+ "default-features": false,
+ "features": [
+ "historizing",
+ "openssl"
+ ]
+ }
+ ]
+ },
+ "qml": {
+ "description": "Build QML imports",
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "gui"
+ ]
+ },
+ {
+ "name": "qtdeclarative",
+ "default-features": false
+ }
+ ]
+ },
+ "uacpp": {
+ "description": "Unified Automation C++ SDK"
+ }
+ }
+}