From 93fc6b5c3c6caa92ff9a091c73748f320d40d4ee Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 7 Feb 2022 16:17:35 +0100 Subject: [PATCH] McuSupport: Make all member fields of McuTarget const In proactive, the color depth was never changed after setCMakeOptions was called. This change makes it clear that it is also not intended to be changed: a board does not suddenly change color depth, and for a new board configuration a new target is created. Change-Id: Ie5b99726d833efcdf129655b8e70120a033914e6 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/mcusupport/mcusupportoptions.cpp | 16 +++++++--------- src/plugins/mcusupport/mcusupportoptions.h | 17 +++++++++++------ src/plugins/mcusupport/mcusupportsdk.cpp | 19 +++++++++++++------ 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index d7ef38fdd1d..36811c5a13a 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -267,14 +267,17 @@ QVariant McuToolChainPackage::debuggerId() const } McuTarget::McuTarget(const QVersionNumber &qulVersion, - const Platform &platform, OS os, + const Platform &platform, + OS os, const QVector &packages, - const McuToolChainPackage *toolChainPackage) + const McuToolChainPackage *toolChainPackage, + int colorDepth) : m_qulVersion(qulVersion) , m_platform(platform) , m_os(os) , m_packages(packages) , m_toolChainPackage(toolChainPackage) + , m_colorDepth(colorDepth) { } @@ -335,11 +338,6 @@ int McuTarget::colorDepth() const return m_colorDepth; } -void McuTarget::setColorDepth(int colorDepth) -{ - m_colorDepth = colorDepth; -} - void McuSdkRepository::deletePackagesAndTargets() { qDeleteAll(packages); @@ -665,7 +663,7 @@ static void setKitCMakeOptions(Kit *k, const McuTarget* mcuTarget, const FilePat if (mcuTarget->qulVersion() <= QVersionNumber{1,3} // OS variable was removed in Qul 1.4 && mcuTarget->os() == McuTarget::OS::FreeRTOS) config.append(CMakeConfigItem("OS", "FreeRTOS")); - if (mcuTarget->colorDepth() >= 0) + if (mcuTarget->colorDepth() != McuTarget::UnspecifiedColorDepth) config.append(CMakeConfigItem("QUL_COLOR_DEPTH", QString::number(mcuTarget->colorDepth()).toLatin1())); if (kitNeedsQtVersion()) @@ -700,7 +698,7 @@ QString McuSupportOptions::kitName(const McuTarget *mcuTarget) const QString compilerName = tcPkg && !tcPkg->isDesktopToolchain() ? QString::fromLatin1(" (%1)").arg(tcPkg->toolChainName().toUpper()) : ""; - const QString colorDepth = mcuTarget->colorDepth() > 0 + const QString colorDepth = mcuTarget->colorDepth() != McuTarget::UnspecifiedColorDepth ? QString::fromLatin1(" %1bpp").arg(mcuTarget->colorDepth()) : ""; const QString targetName = mcuTarget->platform().displayName.isEmpty() diff --git a/src/plugins/mcusupport/mcusupportoptions.h b/src/plugins/mcusupport/mcusupportoptions.h index faec8b3ccb6..e7b0f66015a 100644 --- a/src/plugins/mcusupport/mcusupportoptions.h +++ b/src/plugins/mcusupport/mcusupportoptions.h @@ -1,6 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2021 The Qt Company Ltd. +** Copyright (C) 2021 +** The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. @@ -69,16 +70,20 @@ public: QString vendor; }; - McuTarget(const QVersionNumber &qulVersion, const Platform &platform, OS os, + enum { UnspecifiedColorDepth = -1 }; + + McuTarget(const QVersionNumber &qulVersion, + const Platform &platform, + OS os, const QVector &packages, - const McuToolChainPackage *toolChainPackage); + const McuToolChainPackage *toolChainPackage, + int colorDepth = UnspecifiedColorDepth); const QVersionNumber &qulVersion() const; const QVector &packages() const; const McuToolChainPackage *toolChainPackage() const; const Platform &platform() const; OS os() const; - void setColorDepth(int colorDepth); int colorDepth() const; bool isValid() const; void printPackageProblems() const; @@ -86,10 +91,10 @@ public: private: const QVersionNumber m_qulVersion; const Platform m_platform; - const OS m_os = OS::BareMetal; + const OS m_os; const QVector m_packages; const McuToolChainPackage *m_toolChainPackage; - int m_colorDepth = -1; + const int m_colorDepth; }; class McuSdkRepository diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index 2287ad61d7e..a966d10870d 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -512,9 +512,13 @@ protected: const auto platform = McuTarget::Platform{ desc.platform.id, desc.platform.name, desc.platform.vendor }; auto mcuTarget = new McuTarget(QVersionNumber::fromString(desc.qulVersion), - platform, os, required3rdPartyPkgs, tcPkg); - if (desc.platform.colorDepths.count() > 1) - mcuTarget->setColorDepth(colorDepth); + platform, + os, + required3rdPartyPkgs, + tcPkg, + desc.platform.colorDepths.count() > 1 + ? colorDepth + : McuTarget::UnspecifiedColorDepth); mcuTargets.append(mcuTarget); } } @@ -586,10 +590,13 @@ protected: required3rdPartyPkgs.append(freeRTOSPkgs.value(desc.freeRTOS.envVar)); } - const auto platform = McuTarget::Platform{ desc.platform.id, desc.platform.name, desc.platform.vendor }; + const McuTarget::Platform platform({ desc.platform.id, desc.platform.name, desc.platform.vendor }); auto mcuTarget = new McuTarget(QVersionNumber::fromString(desc.qulVersion), - platform, os, required3rdPartyPkgs, tcPkg); - mcuTarget->setColorDepth(colorDepth); + platform, + os, + required3rdPartyPkgs, + tcPkg, + colorDepth); mcuTargets.append(mcuTarget); } return mcuTargets;