From f00513835ba68c2e883f05fb65851d2e2564f0e0 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 29 Jan 2024 23:02:15 +0100 Subject: [PATCH] CMakePM: Allow preset name changing for Reload CMake Presets Fixes: QTCREATORBUG-30237 Change-Id: I9d2f90d9637b91845dfe0ab619c83ff60dbd986a Reviewed-by: Reviewed-by: Alessandro Portale --- .../cmakeprojectmanager/cmakeprojectimporter.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp index b8748bc6f98..97299ca6915 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp @@ -138,6 +138,11 @@ static QString fileNameToPresetName(const QString &fileName) return name; } +static QString displayPresetName(const QString &presetName) +{ + return QString("%1 (CMake preset)").arg(presetName); +} + FilePaths CMakeProjectImporter::importCandidates() { FilePaths candidates; @@ -966,6 +971,9 @@ bool CMakeProjectImporter::matchKit(void *directoryData, const Kit *k) const if (data->cmakePreset != presetName) return false; + if (!k->unexpandedDisplayName().contains(displayPresetName(data->cmakePresetDisplayname))) + return false; + ensureBuildDirectory(*data, k); haveCMakePreset = true; } @@ -1008,8 +1016,7 @@ Kit *CMakeProjectImporter::createKit(void *directoryData) const } if (!data->cmakePresetDisplayname.isEmpty()) { - k->setUnexpandedDisplayName( - QString("%1 (CMake preset)").arg(data->cmakePresetDisplayname)); + k->setUnexpandedDisplayName(displayPresetName(data->cmakePresetDisplayname)); CMakeConfigurationKitAspect::setCMakePreset(k, data->cmakePreset); }