aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/haskell/haskellrunconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/haskell/haskellrunconfiguration.cpp')
-rw-r--r--plugins/haskell/haskellrunconfiguration.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/plugins/haskell/haskellrunconfiguration.cpp b/plugins/haskell/haskellrunconfiguration.cpp
index f2f47c5..c421571 100644
--- a/plugins/haskell/haskellrunconfiguration.cpp
+++ b/plugins/haskell/haskellrunconfiguration.cpp
@@ -58,12 +58,7 @@ HaskellRunConfiguration::HaskellRunConfiguration(Target *target, Core::Id id)
{
addAspect<LocalEnvironmentAspect>(target);
- auto executableAspect = addAspect<HaskellExecutableAspect>();
- connect(target, &Target::applicationTargetsChanged, this, [this, target, executableAspect] {
- BuildTargetInfo bti = target->buildTarget(buildKey());
- executableAspect->setValue(bti.targetFilePath.toString());
- });
-
+ addAspect<HaskellExecutableAspect>();
addAspect<ArgumentsAspect>();
auto workingDirAspect = addAspect<WorkingDirectoryAspect>();
@@ -71,11 +66,10 @@ HaskellRunConfiguration::HaskellRunConfiguration(Target *target, Core::Id id)
workingDirAspect->setVisible(false);
addAspect<TerminalAspect>();
-}
-void HaskellRunConfiguration::doAdditionalSetup(const RunConfigurationCreationInfo &info)
-{
- aspect<HaskellExecutableAspect>()->setValue(info.buildKey);
+ setUpdater([this] { aspect<HaskellExecutableAspect>()->setValue(buildTargetInfo().buildKey); });
+ connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update);
+ update();
}
Runnable HaskellRunConfiguration::runnable() const