forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/7.0'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/docker/dockerdevice.cpp src/plugins/mcusupport/mcupackage.cpp src/plugins/mcusupport/mcupackage.h src/plugins/mcusupport/mcusupportoptions.cpp src/plugins/mcusupport/mcusupportoptions.h src/plugins/mcusupport/mcusupportoptionspage.cpp src/plugins/mcusupport/mcusupportsdk.cpp src/plugins/mcusupport/mcusupportsdk.h Change-Id: I8c8f5953a21729ba9178dbc44ed613eed131a0c8
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include "mcusupportconstants.h"
|
||||
#include "mcusupportoptions.h"
|
||||
#include "mcusupportversiondetection.h"
|
||||
#include "mcutargetdescription.h"
|
||||
|
||||
#include <baremetal/baremetalconstants.h>
|
||||
#include <coreplugin/icore.h>
|
||||
@@ -330,40 +331,6 @@ static McuPackage *createRenesasProgrammerPackage()
|
||||
envVar);
|
||||
return result;
|
||||
}
|
||||
|
||||
struct McuTargetDescription
|
||||
{
|
||||
enum class TargetType { MCU, Desktop };
|
||||
|
||||
QString qulVersion;
|
||||
QString compatVersion;
|
||||
struct
|
||||
{
|
||||
QString id;
|
||||
QString name;
|
||||
QString vendor;
|
||||
QVector<int> colorDepths;
|
||||
TargetType type;
|
||||
} platform;
|
||||
struct
|
||||
{
|
||||
QString id;
|
||||
QStringList versions;
|
||||
} toolchain;
|
||||
struct
|
||||
{
|
||||
QString name;
|
||||
QString defaultPath;
|
||||
QString envVar;
|
||||
QStringList versions;
|
||||
} boardSdk;
|
||||
struct
|
||||
{
|
||||
QString envVar;
|
||||
QString boardSdkSubDir;
|
||||
} freeRTOS;
|
||||
};
|
||||
|
||||
static McuPackageVersionDetector *generatePackageVersionDetector(QString envVar)
|
||||
{
|
||||
if (envVar.startsWith("EVK"))
|
||||
@@ -463,9 +430,9 @@ struct McuTargetFactory
|
||||
return createTargetsImpl(description);
|
||||
}
|
||||
|
||||
QVector<McuPackage *> getMcuPackages() const
|
||||
QVector<McuAbstractPackage *> getMcuPackages() const
|
||||
{
|
||||
QVector<McuPackage *> packages;
|
||||
QVector<McuAbstractPackage *> packages;
|
||||
for (auto *package : qAsConst(boardSdkPkgs))
|
||||
packages.append(package);
|
||||
for (auto *package : qAsConst(freeRTOSPkgs))
|
||||
@@ -483,7 +450,7 @@ protected:
|
||||
tcPkg = createUnsupportedToolChainPackage();
|
||||
for (auto os : {McuTarget::OS::BareMetal, McuTarget::OS::FreeRTOS}) {
|
||||
for (int colorDepth : desc.platform.colorDepths) {
|
||||
QVector<McuPackage *> required3rdPartyPkgs = {tcPkg};
|
||||
QVector<McuAbstractPackage *> required3rdPartyPkgs = {tcPkg};
|
||||
if (vendorPkgs.contains(desc.platform.vendor))
|
||||
required3rdPartyPkgs.push_back(vendorPkgs.value(desc.platform.vendor));
|
||||
|
||||
@@ -566,7 +533,7 @@ protected:
|
||||
} else
|
||||
tcPkg = createUnsupportedToolChainPackage();
|
||||
for (int colorDepth : desc.platform.colorDepths) {
|
||||
QVector<McuPackage *> required3rdPartyPkgs;
|
||||
QVector<McuAbstractPackage *> required3rdPartyPkgs;
|
||||
// Desktop toolchains don't need any additional settings
|
||||
if (tcPkg && !tcPkg->isDesktopToolchain()
|
||||
&& tcPkg->type() != McuToolChainPackage::Type::Unsupported)
|
||||
@@ -620,10 +587,10 @@ private:
|
||||
|
||||
QHash<QString, McuPackage *> boardSdkPkgs;
|
||||
QHash<QString, McuPackage *> freeRTOSPkgs;
|
||||
};
|
||||
}; // struct McuTargetFactory
|
||||
|
||||
static QVector<McuTarget *> targetsFromDescriptions(const QList<McuTargetDescription> &descriptions,
|
||||
QVector<McuPackage *> *packages)
|
||||
QVector<McuTarget *> targetsFromDescriptions(const QList<McuTargetDescription> &descriptions,
|
||||
QVector<McuAbstractPackage *> *packages)
|
||||
{
|
||||
const QHash<QString, McuToolChainPackage *> tcPkgs = {
|
||||
{{"armgcc"}, createArmGccPackage()},
|
||||
@@ -652,8 +619,10 @@ static QVector<McuTarget *> targetsFromDescriptions(const QList<McuTargetDescrip
|
||||
}
|
||||
|
||||
packages->append(
|
||||
Utils::transform<QVector<McuPackage *>>(tcPkgs.values(),
|
||||
[&](McuToolChainPackage *tcPkg) { return tcPkg; }));
|
||||
Utils::transform<QVector<McuAbstractPackage *>>(tcPkgs.values(),
|
||||
[&](McuToolChainPackage *tcPkg) {
|
||||
return tcPkg;
|
||||
}));
|
||||
for (auto *package : vendorPkgs)
|
||||
packages->append(package);
|
||||
packages->append(targetFactory.getMcuPackages());
|
||||
@@ -755,7 +724,7 @@ static McuTargetDescription parseDescriptionJsonV2x(const QString &qulVersion,
|
||||
return description;
|
||||
}
|
||||
|
||||
static McuTargetDescription parseDescriptionJson(const QByteArray &data)
|
||||
McuTargetDescription parseDescriptionJson(const QByteArray &data)
|
||||
{
|
||||
const QJsonDocument document = QJsonDocument::fromJson(data);
|
||||
const QJsonObject target = document.object();
|
||||
|
||||
Reference in New Issue
Block a user