McuSupport: provide RunConfigurations for multiple CMake targets

Task-number: QTCREATORBUG-26656
Change-Id: I2177044580f9137a5c530cc0a862d69d389fe447
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Christiaan Janssen
2021-12-16 16:54:19 +01:00
parent b1db3d2506
commit fc25c76a4f
2 changed files with 8 additions and 9 deletions

View File

@@ -51,12 +51,11 @@ static FilePath cmakeFilePath(const Target *target)
return tool->filePath(); return tool->filePath();
} }
static QStringList flashAndRunArgs(const Target *target) static QStringList flashAndRunArgs(const RunConfiguration *rc, const Target *target)
{ {
const QString projectName = target->project()->displayName(); // Use buildKey if provided, fallback to projectName
const QString targetName = QLatin1String("flash_%1").arg(
// TODO: Hack! Implement flash target name handling, properly !rc->buildKey().isEmpty() ? rc->buildKey() : target->project()->displayName());
const QString targetName = "flash_" + projectName;
return {"--build", ".", "--target", targetName}; return {"--build", ".", "--target", targetName};
} }
@@ -74,8 +73,8 @@ public:
flashAndRunParameters->setDisplayStyle(StringAspect::TextEditDisplay); flashAndRunParameters->setDisplayStyle(StringAspect::TextEditDisplay);
flashAndRunParameters->setSettingsKey("FlashAndRunConfiguration.Parameters"); flashAndRunParameters->setSettingsKey("FlashAndRunConfiguration.Parameters");
setUpdater([target, flashAndRunParameters] { setUpdater([target, flashAndRunParameters, this] {
flashAndRunParameters->setValue(flashAndRunArgs(target).join(' ')); flashAndRunParameters->setValue(flashAndRunArgs(this, target).join(' '));
}); });
update(); update();
@@ -109,7 +108,7 @@ RunWorkerFactory::WorkerCreator makeFlashAndRunWorker()
} }
McuSupportRunConfigurationFactory::McuSupportRunConfigurationFactory() McuSupportRunConfigurationFactory::McuSupportRunConfigurationFactory()
: FixedRunConfigurationFactory(FlashAndRunConfiguration::tr("Flash and run")) : RunConfigurationFactory()
{ {
registerRunConfiguration<FlashAndRunConfiguration>(Constants::RUNCONFIGURATION); registerRunConfiguration<FlashAndRunConfiguration>(Constants::RUNCONFIGURATION);
addSupportedTargetDeviceType(Constants::DEVICE_TYPE); addSupportedTargetDeviceType(Constants::DEVICE_TYPE);

View File

@@ -31,7 +31,7 @@
namespace McuSupport { namespace McuSupport {
namespace Internal { namespace Internal {
class McuSupportRunConfigurationFactory final : public ProjectExplorer::FixedRunConfigurationFactory class McuSupportRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory
{ {
public: public:
McuSupportRunConfigurationFactory(); McuSupportRunConfigurationFactory();