forked from qt-creator/qt-creator
Nim: Use aspects more directly in NimRunConfiguration
Change-Id: I4120f86d36ece183c95325ccea33cb66778753db Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -26,19 +26,13 @@ public:
|
|||||||
NimRunConfiguration(Target *target, Utils::Id id)
|
NimRunConfiguration(Target *target, Utils::Id id)
|
||||||
: RunConfiguration(target, id)
|
: RunConfiguration(target, id)
|
||||||
{
|
{
|
||||||
auto envAspect = addAspect<EnvironmentAspect>();
|
environment.setSupportForBuildEnvironment(target);
|
||||||
envAspect->setSupportForBuildEnvironment(target);
|
|
||||||
|
|
||||||
auto exeAspect = addAspect<ExecutableAspect>();
|
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||||
exeAspect->setDeviceSelector(target, ExecutableAspect::RunDevice);
|
|
||||||
|
|
||||||
auto argsAspect = addAspect<ArgumentsAspect>();
|
arguments.setMacroExpander(macroExpander());
|
||||||
argsAspect->setMacroExpander(macroExpander());
|
|
||||||
|
|
||||||
auto workingDirAspect = addAspect<WorkingDirectoryAspect>();
|
workingDir.setMacroExpander(macroExpander());
|
||||||
workingDirAspect->setMacroExpander(macroExpander());
|
|
||||||
|
|
||||||
addAspect<TerminalAspect>();
|
|
||||||
|
|
||||||
setDisplayName(Tr::tr("Current Build Target"));
|
setDisplayName(Tr::tr("Current Build Target"));
|
||||||
setDefaultDisplayName(Tr::tr("Current Build Target"));
|
setDefaultDisplayName(Tr::tr("Current Build Target"));
|
||||||
@@ -47,15 +41,21 @@ public:
|
|||||||
auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(target->activeBuildConfiguration());
|
auto buildConfiguration = qobject_cast<NimBuildConfiguration *>(target->activeBuildConfiguration());
|
||||||
QTC_ASSERT(buildConfiguration, return);
|
QTC_ASSERT(buildConfiguration, return);
|
||||||
const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo();
|
const QFileInfo outFileInfo = buildConfiguration->outFilePath().toFileInfo();
|
||||||
aspect<ExecutableAspect>()->setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath()));
|
executable.setExecutable(FilePath::fromString(outFileInfo.absoluteFilePath()));
|
||||||
const QString workingDirectory = outFileInfo.absoluteDir().absolutePath();
|
const QString workingDirectory = outFileInfo.absoluteDir().absolutePath();
|
||||||
aspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(FilePath::fromString(workingDirectory));
|
workingDir.setDefaultWorkingDirectory(FilePath::fromString(workingDirectory));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Connect target signals
|
// Connect target signals
|
||||||
connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update);
|
connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update);
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EnvironmentAspect environment{this};
|
||||||
|
ExecutableAspect executable{this};
|
||||||
|
ArgumentsAspect arguments{this};
|
||||||
|
WorkingDirectoryAspect workingDir{this};
|
||||||
|
TerminalAspect terminal{this};
|
||||||
};
|
};
|
||||||
|
|
||||||
// NimRunConfigurationFactory
|
// NimRunConfigurationFactory
|
||||||
|
Reference in New Issue
Block a user