CMake: Allow autodetected tools to associate themselves with kits

Change-Id: I5b48ddf36ba1b9c4eb6476017be63c4d43b60627
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-06-22 14:08:20 +02:00
parent a10728639a
commit 6d26f4f5b0
5 changed files with 22 additions and 5 deletions

View File

@@ -272,8 +272,19 @@ Tasks CMakeKitAspect::validate(const Kit *k) const
void CMakeKitAspect::setup(Kit *k)
{
CMakeTool *tool = CMakeKitAspect::cmakeTool(k);
if (!tool)
setCMakeTool(k, defaultCMakeToolId());
if (tool)
return;
// Look for a suitable auto-detected one:
const QString id = k->autoDetectionSource();
for (CMakeTool *tool : CMakeToolManager::cmakeTools()) {
if (tool->detectionSource() == id) {
setCMakeTool(k, tool->id());
return;
}
}
setCMakeTool(k, defaultCMakeToolId());
}
void CMakeKitAspect::fix(Kit *k)