summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-17 23:58:08 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-17 23:58:08 +0100
commit343169dff6b062074fd3c4a5e240b449ffc4a449 (patch)
treea2ef1edc8dd1b1c1dbac757192fa681d8ec76717 /CMakeLists.txt
downloadBobinkQtOpcUa-343169dff6b062074fd3c4a5e240b449ffc4a449.tar.gz
BobinkQtOpcUa-343169dff6b062074fd3c4a5e240b449ffc4a449.zip
Initial Bobink library: BobinkAuth, BobinkClient, and demo app
Implements the core OPC UA wrapper library with: - Build system with automatic dep building (open62541, QtOpcUa) - BobinkAuth: QML auth component (anonymous/userpass/certificate) - BobinkClient: QML singleton managing connection, LDS discovery, PKI configuration, endpoint selection, and certificate trust flow - Demo app for manual testing of the full connection flow
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt26
1 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..73ab94d
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.16)
+project(Bobink LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
+# Build external dependencies (open62541, qtopcua) if not already built
+include(cmake/BuildDeps.cmake)
+
+# Local QtOpcUa must come before system Qt so find_package picks up our
+# build instead of any system-installed QtOpcUa.
+list(PREPEND CMAKE_PREFIX_PATH "${QTOPCUA_BUILD_DIR}")
+list(PREPEND CMAKE_PREFIX_PATH "${OPEN62541_INSTALL_DIR}")
+
+find_package(Qt6 6.10.2 REQUIRED COMPONENTS Core Qml Quick OpcUa)
+qt_standard_project_setup(REQUIRES 6.10.2)
+
+# Ensure the local QtOpcUa and open62541 libs are findable at runtime
+# (needed because the Qt plugin loader dlopen's the open62541 backend).
+set(CMAKE_BUILD_RPATH
+ "${QTOPCUA_BUILD_DIR}/lib"
+ "${OPEN62541_INSTALL_DIR}/lib")
+
+add_subdirectory(src)
+add_subdirectory(demo)