diff options
author | Christian Kandeler <[email protected]> | 2025-02-24 14:05:09 +0100 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2025-03-06 11:41:40 +0000 |
commit | afb8292d671ad87d85753fd0f6b4167d829e66dc (patch) | |
tree | 5e8a79a0fa05375ecc9268178b180b88978d5b54 /src/plugins/nim | |
parent | 3ba55ce1a636921ab29cfe852f5234dc78f678da (diff) |
ProjectExplorer: Make run configurations per build configuration
Fixes: QTCREATORBUG-20986
Task-number: QTCREATORBUG-32380
Change-Id: Id5bcb8fcc6d97375f15a1266ae040ea637df9683
Reviewed-by: hjk <[email protected]>
Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins/nim')
-rw-r--r-- | src/plugins/nim/project/nimblerunconfiguration.cpp | 16 | ||||
-rw-r--r-- | src/plugins/nim/project/nimrunconfiguration.cpp | 15 |
2 files changed, 13 insertions, 18 deletions
diff --git a/src/plugins/nim/project/nimblerunconfiguration.cpp b/src/plugins/nim/project/nimblerunconfiguration.cpp index adecb710e9c..2aee49934c6 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.cpp +++ b/src/plugins/nim/project/nimblerunconfiguration.cpp @@ -22,12 +22,12 @@ namespace Nim { class NimbleRunConfiguration : public RunConfiguration { public: - NimbleRunConfiguration(Target *target, Id id) - : RunConfiguration(target, id) + NimbleRunConfiguration(BuildConfiguration *bc, Id id) + : RunConfiguration(bc, id) { - environment.setSupportForBuildEnvironment(target); + environment.setSupportForBuildEnvironment(bc); - executable.setDeviceSelector(target, ExecutableAspect::RunDevice); + executable.setDeviceSelector(target(), ExecutableAspect::RunDevice); setUpdater([this] { BuildTargetInfo bti = buildTargetInfo(); @@ -36,8 +36,6 @@ public: executable.setExecutable(bti.targetFilePath); workingDir.setDefaultWorkingDirectory(bti.workingDirectory); }); - - connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); update(); } @@ -62,13 +60,13 @@ NimbleRunConfigurationFactory::NimbleRunConfigurationFactory() class NimbleTestConfiguration : public RunConfiguration { public: - NimbleTestConfiguration(Target *target, Id id) - : RunConfiguration(target, id) + NimbleTestConfiguration(BuildConfiguration *bc, Id id) + : RunConfiguration(bc, id) { setDisplayName(Tr::tr("Nimble Test")); setDefaultDisplayName(Tr::tr("Nimble Test")); - executable.setDeviceSelector(target, ExecutableAspect::BuildDevice); + executable.setDeviceSelector(target(), ExecutableAspect::BuildDevice); executable.setExecutable(Nim::nimblePathFromKit(kit())); arguments.setArguments("test"); diff --git a/src/plugins/nim/project/nimrunconfiguration.cpp b/src/plugins/nim/project/nimrunconfiguration.cpp index c640234c7b4..6f29a69eee3 100644 --- a/src/plugins/nim/project/nimrunconfiguration.cpp +++ b/src/plugins/nim/project/nimrunconfiguration.cpp @@ -24,27 +24,24 @@ namespace Nim { class NimRunConfiguration final : public RunConfiguration { public: - NimRunConfiguration(Target *target, Utils::Id id) - : RunConfiguration(target, id) + NimRunConfiguration(BuildConfiguration *bc, Utils::Id id) + : RunConfiguration(bc, id) { - environment.setSupportForBuildEnvironment(target); + environment.setSupportForBuildEnvironment(bc); - executable.setDeviceSelector(target, ExecutableAspect::RunDevice); + executable.setDeviceSelector(target(), ExecutableAspect::RunDevice); setDisplayName(Tr::tr("Current Build Target")); setDefaultDisplayName(Tr::tr("Current Build Target")); - setUpdater([this, target] { - auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(target->activeBuildConfiguration()); + setUpdater([this, bc] { + auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(bc); QTC_ASSERT(buildConfiguration, return); const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo(); executable.setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath())); const QString workingDirectory = outFileInfo.absoluteDir().absolutePath(); workingDir.setDefaultWorkingDirectory(FilePath::fromString(workingDirectory)); }); - - // Connect target signals - connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); update(); } |