<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BobinkQtOpcUa/cmake, branch master</title>
<subtitle>High-level C++/QML library for making OPC UA applications with Qt Quick</subtitle>
<id>http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/atom?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/'/>
<updated>2026-02-25T17:08:28Z</updated>
<entry>
<title>Add .qmlformat.ini, qmlls support, and format QML files</title>
<updated>2026-02-25T17:08:28Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-25T15:11:53Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=7bb49eabdf8d86567660c8825892eb323fa6e674'/>
<id>urn:sha1:7bb49eabdf8d86567660c8825892eb323fa6e674</id>
<content type='text'>
- Enable QT_QML_GENERATE_QMLLS_INI for QML Language Server support
- Add IMPORT_PATH to demo's qt_add_qml_module so .qmlls.ini includes
  the local build QML directory alongside the Qt system path
- Add editor setup section to README with qmlls and qmlformat guidance
- Add QML formatting section to French guide
- Reformat demo QML files with .qmlformat.ini (line wrapping at 80 cols)
</content>
</entry>
<entry>
<title>Make build system usable as a git submodule</title>
<updated>2026-02-24T17:18:31Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-24T16:41:35Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=3e8111aaee070dc9b5d51cab3fd44ff88841f63e'/>
<id>urn:sha1:3e8111aaee070dc9b5d51cab3fd44ff88841f63e</id>
<content type='text'>
Replace CMAKE_SOURCE_DIR/CMAKE_BINARY_DIR with PROJECT_SOURCE_DIR/
PROJECT_BINARY_DIR so paths resolve correctly from add_subdirectory().
Guard global settings (CMAKE_CXX_STANDARD, CMAKE_BUILD_RPATH,
qt_standard_project_setup, demo) behind PROJECT_IS_TOP_LEVEL.
Export OPEN62541_INSTALL_DIR and QTOPCUA_INSTALL_DIR as CACHE INTERNAL
so parent projects can set up RPATH and plugin paths.
</content>
</entry>
<entry>
<title>Check for OpenSSL before configuring QtOpcUa on Windows</title>
<updated>2026-02-23T13:55:26Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-23T13:32:42Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=dea81e8c330d75eaaa96e7f1915a9824ca23b15d'/>
<id>urn:sha1:dea81e8c330d75eaaa96e7f1915a9824ca23b15d</id>
<content type='text'>
Fail early with a clear install instruction instead of letting the
QtOpcUa configure step produce a cryptic error.

Remove quotes around OPENSSL_ROOT_DIR path — qt-cmake.bat passes
them literally to CMake, breaking the path resolution. Use a variable
instead so CMake handles the spaces natively.

Also fix qt-cmake usage for build/install steps and minor formatting.
</content>
</entry>
<entry>
<title>Add Windows support to build system and improve dep detection</title>
<updated>2026-02-23T09:15:19Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-23T09:15:19Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=a132c560437fe09714c43aa2a8c52a529a95e32b'/>
<id>urn:sha1:a132c560437fe09714c43aa2a8c52a529a95e32b</id>
<content type='text'>
Use platform-specific library names for skip detection (.so vs .lib).
Find qt-cmake on Windows (qt-cmake.bat). Set CMAKE_BUILD_TYPE on dep
builds. Use explicit Qt6*_DIR variables instead of fragile
QT_ADDITIONAL_PACKAGES_PREFIX_PATH for finding locally-built QtOpcUa.

On Windows: copy DLLs to bin/ (no RPATH), point to system OpenSSL.
On Linux: keep existing symlink approach for open62541 libs.
</content>
</entry>
<entry>
<title>Fix open62541 backend plugin failing to load at runtime</title>
<updated>2026-02-19T22:07:58Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-19T22:07:58Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=09a5b9c25011b6976813130239994661ab1b0d66'/>
<id>urn:sha1:09a5b9c25011b6976813130239994661ab1b0d66</id>
<content type='text'>
The QtOpcUa backend plugin has $ORIGIN-relative RUNPATH resolving to
qtopcua-install/lib/, but libopen62541.so lives in a separate install
prefix. Symlink the open62541 libs into the QtOpcUa lib dir so dlopen
can find them.
</content>
</entry>
<entry>
<title>Install QtOpcUa to local prefix instead of system Qt directory</title>
<updated>2026-02-19T21:25:47Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-19T21:25:47Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=5fe029fd127dd70079a01eb6dfbd347954bba9de'/>
<id>urn:sha1:5fe029fd127dd70079a01eb6dfbd347954bba9de</id>
<content type='text'>
Add QTOPCUA_INSTALL_DIR and CMAKE_INSTALL_PREFIX so QtOpcUa installs
to build/deps/qtopcua-install/ rather than polluting ~/Qt/6.10.2/.
Use QT_ADDITIONAL_PACKAGES_PREFIX_PATH so Qt's find_package resolves
OpcUa from the local install.
</content>
</entry>
<entry>
<title>Refactor and document: fix cert filenames, add Doxygen, improve demo</title>
<updated>2026-02-17T23:18:33Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-17T23:18:33Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=1a79ab468d8cc23cfdf28ddfa85d3e03ffddf44c'/>
<id>urn:sha1:1a79ab468d8cc23cfdf28ddfa85d3e03ffddf44c</id>
<content type='text'>
Refactoring (issues 1,3,4,5,7,8,9,10 from review):
- Replace hardcoded cert filenames with certFile/keyFile properties
- Add 30s timeout to certificate trust QEventLoop
- Cache servers() QVariantList instead of rebuilding per call
- Validate URLs before passing to QtOpcUa
- Use ComboBox valueRole for robust enum mapping
- Add certificate trust dialog to demo
- Remove unnecessary RowLayout wrapper
- Remove debug output from BuildDeps.cmake

Documentation:
- Add Doxygen file blocks to all C++ files
- Document AuthMode enum, toAuthenticationInformation(), key
  Q_INVOKABLE methods, certificateTrustRequested signal contract
- Convert section banners to standard format
- Add file/target comments to CMake and QML files
</content>
</entry>
<entry>
<title>Initial Bobink library: BobinkAuth, BobinkClient, and demo app</title>
<updated>2026-02-17T22:58:08Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-17T22:58:08Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=343169dff6b062074fd3c4a5e240b449ffc4a449'/>
<id>urn:sha1:343169dff6b062074fd3c4a5e240b449ffc4a449</id>
<content type='text'>
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
</content>
</entry>
</feed>
