diff options
Diffstat (limited to 'vcpkg/ports/qtopcua')
| -rw-r--r-- | vcpkg/ports/qtopcua/fix-build.patch | 16 | ||||
| -rw-r--r-- | vcpkg/ports/qtopcua/portfile.cmake | 37 | ||||
| -rw-r--r-- | vcpkg/ports/qtopcua/vcpkg.json | 70 |
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" + } + } +} |