forked from qt-creator/qt-creator
CMake: Use Standard RunConfiguration::initialize(Id) signature
Change-Id: I66b534df216552d129d4605148ff3b4eff543d11 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -70,15 +70,21 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target)
|
|||||||
addExtraAspect(new WorkingDirectoryAspect(this, "CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"));
|
addExtraAspect(new WorkingDirectoryAspect(this, "CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeRunConfiguration::initialize(Core::Id id, const QString &target,
|
void CMakeRunConfiguration::initialize(Core::Id id)
|
||||||
const Utils::FileName &workingDirectory, const QString &title)
|
|
||||||
{
|
{
|
||||||
RunConfiguration::initialize(id);
|
RunConfiguration::initialize(id);
|
||||||
m_buildSystemTarget = target;
|
QString executable = id.suffixAfter(CMAKE_RC_PREFIX);
|
||||||
m_executable = target;
|
|
||||||
m_title = title;
|
|
||||||
|
|
||||||
extraAspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(workingDirectory);
|
CMakeProject *project = static_cast<CMakeProject *>(target()->project());
|
||||||
|
|
||||||
|
m_buildSystemTarget = executable;
|
||||||
|
m_executable = executable;
|
||||||
|
|
||||||
|
if (!executable.isEmpty()) {
|
||||||
|
const CMakeBuildTarget ct = project->buildTargetForTitle(executable);
|
||||||
|
m_title = ct.title;
|
||||||
|
extraAspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(ct.workingDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
setDefaultDisplayName(defaultDisplayName());
|
setDefaultDisplayName(defaultDisplayName());
|
||||||
}
|
}
|
||||||
@@ -254,10 +260,7 @@ bool CMakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
|||||||
|
|
||||||
RunConfiguration *CMakeRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
|
RunConfiguration *CMakeRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
|
||||||
{
|
{
|
||||||
CMakeProject *project = static_cast<CMakeProject *>(parent->project());
|
return createHelper<CMakeRunConfiguration>(parent, id);
|
||||||
const QString title(buildTargetFromId(id));
|
|
||||||
const CMakeBuildTarget &ct = project->buildTargetForTitle(title);
|
|
||||||
return createHelper<CMakeRunConfiguration>(parent, id, title, ct.workingDirectory, ct.title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMakeRunConfigurationFactory::canClone(Target *parent, RunConfiguration *source) const
|
bool CMakeRunConfigurationFactory::canClone(Target *parent, RunConfiguration *source) const
|
||||||
@@ -277,7 +280,7 @@ bool CMakeRunConfigurationFactory::canRestore(Target *parent, const QVariantMap
|
|||||||
RunConfiguration *CMakeRunConfigurationFactory::doRestore(Target *parent, const QVariantMap &map)
|
RunConfiguration *CMakeRunConfigurationFactory::doRestore(Target *parent, const QVariantMap &map)
|
||||||
{
|
{
|
||||||
const Core::Id id = idFromMap(map);
|
const Core::Id id = idFromMap(map);
|
||||||
return createHelper<CMakeRunConfiguration>(parent, id, buildTargetFromId(id), Utils::FileName(), QString());
|
return createHelper<CMakeRunConfiguration>(parent, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CMakeRunConfigurationFactory::buildTargetFromId(Core::Id id)
|
QString CMakeRunConfigurationFactory::buildTargetFromId(Core::Id id)
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ class CMakeRunConfiguration : public ProjectExplorer::RunConfiguration
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
friend class CMakeRunConfigurationWidget;
|
friend class CMakeRunConfigurationWidget;
|
||||||
friend class ProjectExplorer::IRunConfigurationFactory;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CMakeRunConfiguration(ProjectExplorer::Target *target);
|
explicit CMakeRunConfiguration(ProjectExplorer::Target *target);
|
||||||
@@ -56,10 +55,9 @@ public:
|
|||||||
|
|
||||||
Utils::OutputFormatter *createOutputFormatter() const final;
|
Utils::OutputFormatter *createOutputFormatter() const final;
|
||||||
|
|
||||||
private:
|
void initialize(Core::Id id);
|
||||||
void initialize(Core::Id id, const QString &target,
|
|
||||||
const Utils::FileName &workingDirectory, const QString &title);
|
|
||||||
|
|
||||||
|
private:
|
||||||
bool fromMap(const QVariantMap &map) override;
|
bool fromMap(const QVariantMap &map) override;
|
||||||
QString defaultDisplayName() const;
|
QString defaultDisplayName() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user