From e9c26ee85a064a79423d2aea774d8878a4c9f729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 23 Sep 2025 12:04:12 +0200 Subject: [PATCH] Make TI optional based on package detection in qt5 depending --- libnymea-zigbee/libnymea-zigbee.pro | 8 +++++++- libnymea-zigbee/zigbee.h | 2 +- libnymea-zigbee/zigbeenetworkmanager.cpp | 4 ++-- libnymea-zigbee/zigbeeuartadaptermonitor.cpp | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libnymea-zigbee/libnymea-zigbee.pro b/libnymea-zigbee/libnymea-zigbee.pro index 643c1c5..ebd4c0b 100644 --- a/libnymea-zigbee/libnymea-zigbee.pro +++ b/libnymea-zigbee/libnymea-zigbee.pro @@ -17,7 +17,13 @@ greaterThan(QT_MAJOR_VERSION, 5) { message(Building without TI support) DEFINES += DISABLE_TI } else { - PKGCONFIG += qca2-qt5 + packagesExist(qca2-qt5) { + message(Build with libqca2 support) + PKGCONFIG += qca2-qt5 + } else { + message(Build without libqca2 support) + DEFINES += DISABLE_TI + } } SOURCES += \ diff --git a/libnymea-zigbee/zigbee.h b/libnymea-zigbee/zigbee.h index 7b093c5..9956117 100644 --- a/libnymea-zigbee/zigbee.h +++ b/libnymea-zigbee/zigbee.h @@ -43,7 +43,7 @@ public: enum ZigbeeBackendType { ZigbeeBackendTypeDeconz, ZigbeeBackendTypeNxp, -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#ifndef DISABLE_TI ZigbeeBackendTypeTi #endif }; diff --git a/libnymea-zigbee/zigbeenetworkmanager.cpp b/libnymea-zigbee/zigbeenetworkmanager.cpp index cca7b3f..a21fca5 100644 --- a/libnymea-zigbee/zigbeenetworkmanager.cpp +++ b/libnymea-zigbee/zigbeenetworkmanager.cpp @@ -30,7 +30,7 @@ #include "backends/nxp/zigbeenetworknxp.h" #include "backends/deconz/zigbeenetworkdeconz.h" -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#ifndef DISABLE_TI #include "backends/ti/zigbeenetworkti.h" #endif @@ -51,7 +51,7 @@ ZigbeeNetwork *ZigbeeNetworkManager::createZigbeeNetwork(const QUuid &networkUui return qobject_cast(new ZigbeeNetworkNxp(networkUuid, parent)); case Zigbee::ZigbeeBackendTypeDeconz: return qobject_cast(new ZigbeeNetworkDeconz(networkUuid, parent)); -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#ifndef DISABLE_TI case Zigbee::ZigbeeBackendTypeTi: return qobject_cast(new ZigbeeNetworkTi(networkUuid, parent)); #endif diff --git a/libnymea-zigbee/zigbeeuartadaptermonitor.cpp b/libnymea-zigbee/zigbeeuartadaptermonitor.cpp index 785d8ee..ea4f356 100644 --- a/libnymea-zigbee/zigbeeuartadaptermonitor.cpp +++ b/libnymea-zigbee/zigbeeuartadaptermonitor.cpp @@ -239,7 +239,7 @@ void ZigbeeUartAdapterMonitor::addAdapterInternally(const QString &serialPort) adapter.setBaudRate(115200); } -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#ifndef DISABLE_TI QStringList zStackModels = {"cc2530", "cc2531", "cc2538", "cc1352p", "cc2652p", "cc2652r", "cc2652rb", "sonoff zigbee 3.0 usb"}; if (QRegularExpression(".*(" + zStackModels.join("|") + ").*").match(serialPortInfo.description().toLower()).hasMatch()) { adapter.setHardwareRecognized(true);