aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d5d66e0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,59 @@
+# BobinkQtOpcUaAppTemplate
+
+App template for [BobinkQtOpcUa](deps/BobinkQtOpcUa/README.md) — a QML library that wraps Qt OPC UA into simple, declarative components.
+
+## Prerequisites
+
+- CMake >= 3.16, Ninja
+- Qt 6.10.2+ (with `qt-cmake` in PATH)
+- OpenSSL development headers
+
+## Build
+
+```bash
+git clone --recurse-submodules https://github.com/Bobink-UTT/BobinkQtOpcUaAppTemplate.git
+cd BobinkQtOpcUaAppTemplate
+
+qt-cmake -S . -B build -G Ninja
+qt-cmake --build build --parallel
+```
+
+The first configure automatically builds the bundled dependencies (open62541 and QtOpcUa) from git submodules. Subsequent builds skip this step.
+
+### Run
+
+```bash
+./build/bin/BobinkQtOpcUaAppTemplate
+```
+
+## Usage
+
+Edit `Main.qml` to build your app. The `Bobink` QML module is already available:
+
+```qml
+import Bobink
+
+ApplicationWindow {
+ // Connect, monitor nodes, write values — see the API docs below.
+}
+```
+
+For the full API (connections, authentication, node monitoring, writing, discovery, PKI), see the [BobinkQtOpcUa README](deps/BobinkQtOpcUa/README.md). A complete working example lives in `deps/BobinkQtOpcUa/demo/`.
+
+## Editor setup
+
+The build generates `.qmlls.ini` files so the QML Language Server can resolve all imports (Qt and Bobink) out of the box.
+
+**Neovim** — works automatically if your LSP config picks up qmlls.
+
+**Qt Creator** — enable the language server under Edit > Preferences > Language Client > QML Language Server.
+
+## Project structure
+
+```
+CMakeLists.txt Build configuration
+main.cpp Entry point (plugin path, logging)
+Main.qml Your app — edit this
+deps/
+ BobinkQtOpcUa/ Library submodule (builds open62541 + QtOpcUa)
+```