QMakeProjectManager: Use ProjectPartBuilder

...as the other project managers.

This removes extra code paths, duplication and improves classification
of source files (ambiguous headers).

Change-Id: Iae05cbbc61ab2e5dd841ae617bec994e0a1e52d5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Nikolai Kosjar
2016-12-05 17:30:56 +01:00
parent 43c6e97529
commit 0265442c93
5 changed files with 37 additions and 99 deletions

View File

@@ -101,6 +101,11 @@ void BaseProjectPartBuilder::setPreCompiledHeaders(const QStringList &preCompile
m_templatePart->precompiledHeaders = preCompiledHeaders;
}
void BaseProjectPartBuilder::setSelectedForBuilding(bool yesno)
{
m_templatePart->selectedForBuilding = yesno;
}
void BaseProjectPartBuilder::setProjectFile(const QString &projectFile)
{
m_templatePart->projectFile = projectFile;
@@ -262,13 +267,6 @@ private:
} // anynomous
void BaseProjectPartBuilder::evaluateToolChain(ProjectPart &projectPart,
const ToolChainInterface &toolChain)
{
ToolChainEvaluator evaluator(projectPart, toolChain);
evaluator.evaluate();
}
void BaseProjectPartBuilder::createProjectPart(const ProjectFiles &projectFiles,
const QString &partName,
ProjectPart::LanguageVersion languageVersion,
@@ -281,8 +279,10 @@ void BaseProjectPartBuilder::createProjectPart(const ProjectFiles &projectFiles,
QTC_ASSERT(part->project, return);
// TODO: If not toolchain is set, show a warning
if (const ToolChainInterfacePtr toolChain = selectToolChain(languageVersion))
evaluateToolChain(*part.data(), *toolChain.get());
if (const ToolChainInterfacePtr toolChain = selectToolChain(languageVersion)) {
ToolChainEvaluator evaluator(*part.data(), *toolChain.get());
evaluator.evaluate();
}
part->languageExtensions |= languageExtensions;
part->updateLanguageFeatures();