forked from qt-creator/qt-creator
CMakePM: Only display CMake preset Kits in the project setup page
Fixes: QTCREATORBUG-29535 Change-Id: I87c16c24a8548efb4374af342947d342e19cc510 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -201,6 +201,8 @@ FilePaths CMakeProjectImporter::presetCandidates()
|
||||
}
|
||||
}
|
||||
|
||||
m_hasCMakePresets = !candidates.isEmpty();
|
||||
|
||||
return candidates;
|
||||
}
|
||||
|
||||
@@ -219,6 +221,22 @@ Target *CMakeProjectImporter::preferredTarget(const QList<Target *> &possibleTar
|
||||
return ProjectImporter::preferredTarget(possibleTargets);
|
||||
}
|
||||
|
||||
bool CMakeProjectImporter::filter(ProjectExplorer::Kit *k) const
|
||||
{
|
||||
if (!m_hasCMakePresets)
|
||||
return true;
|
||||
|
||||
const auto presetConfigItem = CMakeConfigurationKitAspect::cmakePresetConfigItem(k);
|
||||
if (presetConfigItem.isNull())
|
||||
return false;
|
||||
|
||||
const QString presetName = presetConfigItem.expandedValue(k);
|
||||
return std::find_if(m_project->presetsData().configurePresets.cbegin(),
|
||||
m_project->presetsData().configurePresets.cend(),
|
||||
[&presetName](const auto &preset) { return presetName == preset.name; })
|
||||
!= m_project->presetsData().configurePresets.cend();
|
||||
}
|
||||
|
||||
static CMakeConfig configurationFromPresetProbe(
|
||||
const FilePath &importPath,
|
||||
const FilePath &sourceDirectory,
|
||||
|
||||
Reference in New Issue
Block a user