forked from qt-creator/qt-creator
ProjectExplorer: Add infastructure for build system specific generators
Task-number: QTCREATORBUG-28149 Change-Id: I95c5657db5d551bc5708b755418f27ebfb08a6ee Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -86,6 +86,8 @@ public:
|
|||||||
|
|
||||||
virtual Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &sourceFile) const;
|
virtual Utils::FilePaths filesGeneratedFrom(const Utils::FilePath &sourceFile) const;
|
||||||
virtual QVariant additionalData(Utils::Id id) const;
|
virtual QVariant additionalData(Utils::Id id) const;
|
||||||
|
virtual QList<QPair<Utils::Id, QString>> generators() const { return {}; }
|
||||||
|
virtual void runGenerator(Utils::Id) {}
|
||||||
|
|
||||||
void setDeploymentData(const DeploymentData &deploymentData);
|
void setDeploymentData(const DeploymentData &deploymentData);
|
||||||
DeploymentData deploymentData() const;
|
DeploymentData deploymentData() const;
|
||||||
|
@@ -1067,14 +1067,24 @@ const QList<QPair<Id, QString>> Project::allGenerators() const
|
|||||||
QList<QPair<Id, QString>> generators;
|
QList<QPair<Id, QString>> generators;
|
||||||
for (auto it = d->m_generators.cbegin(); it != d->m_generators.cend(); ++it)
|
for (auto it = d->m_generators.cbegin(); it != d->m_generators.cend(); ++it)
|
||||||
generators << qMakePair(it.key(), it.value().first);
|
generators << qMakePair(it.key(), it.value().first);
|
||||||
|
if (const Target * const t = activeTarget()) {
|
||||||
|
if (const BuildSystem * const bs = t->buildSystem())
|
||||||
|
generators += bs->generators();
|
||||||
|
}
|
||||||
return generators;
|
return generators;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Project::runGenerator(Utils::Id id)
|
void Project::runGenerator(Utils::Id id)
|
||||||
{
|
{
|
||||||
const auto it = d->m_generators.constFind(id);
|
const auto it = d->m_generators.constFind(id);
|
||||||
if (it != d->m_generators.constEnd())
|
if (it != d->m_generators.constEnd()) {
|
||||||
it.value().second();
|
it.value().second();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (const Target * const t = activeTarget()) {
|
||||||
|
if (BuildSystem * const bs = t->buildSystem())
|
||||||
|
bs->runGenerator(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WITH_TESTS)
|
#if defined(WITH_TESTS)
|
||||||
|
Reference in New Issue
Block a user