Project Import: Make sure all values are fully set up

Call setup on all kitinformation that were not explicitly set when
creating a temporary kit while importing an existing build.

Task-number: QTCREATORBUG-12186
Change-Id: I655ecef10122a96d81e5ed222e80fbffcbb51e17
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Tobias Hunger
2014-06-19 15:34:44 +02:00
parent 7df97f77bc
commit 05d4cc5d29

View File

@@ -245,6 +245,9 @@ ProjectExplorer::Kit *QmakeProjectImporter::createTemporaryKit(QtSupport::BaseQt
const Utils::FileName &parsedSpec)
{
ProjectExplorer::Kit *k = new ProjectExplorer::Kit;
ProjectExplorer::KitGuard guard(k);
QtSupport::QtKitInformation::setQtVersion(k, version);
ProjectExplorer::ToolChainKitInformation::setToolChain(k, version->preferredToolChain(parsedSpec));
QmakeKitInformation::setMkspec(k, parsedSpec);
@@ -253,7 +256,16 @@ ProjectExplorer::Kit *QmakeProjectImporter::createTemporaryKit(QtSupport::BaseQt
if (temporaryVersion)
k->setValue(QT_IS_TEMPORARY, version->uniqueId());
// Set up other values:
foreach (ProjectExplorer::KitInformation *ki, ProjectExplorer::KitManager::kitInformation()) {
if (ki->id() == ProjectExplorer::ToolChainKitInformation::id()
|| ki->id() == QtSupport::QtKitInformation::id())
continue;
ki->setup(k);
}
k->setDisplayName(version->displayName());
setIsUpdating(true);
ProjectExplorer::KitManager::registerKit(k);
setIsUpdating(false);