From 99dd3a02607e2325131412a296771ab3fdf10f4d Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 1 Mar 2021 20:18:08 +0100 Subject: [PATCH] CMakeProjectManager: expand variables for Batch Edit The Batch Edit dialog is offering the ability to use expanded variables, but these variables were not expanded upon acceptance. For the CMake command line they were expanded, but there was a conflict between what the settings dialog as value had and what CMake returned via file-api. Change-Id: Ia4a64e99676c43f7b182e059f9051393aa184c19 Reviewed-by: Alessandro Portale Reviewed-by: Eike Ziller --- .../cmakeprojectmanager/cmakebuildconfiguration.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 7b2d8eb5690..84ded757958 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -463,8 +463,14 @@ void CMakeBuildSettingsWidget::batchEditConfiguration() connect(buttons, &QDialogButtonBox::accepted, dialog, &QDialog::accept); connect(buttons, &QDialogButtonBox::rejected, dialog, &QDialog::reject); connect(dialog, &QDialog::accepted, this, [=]{ - const CMakeConfig config = CMakeConfigItem::itemsFromArguments( - editor->toPlainText().split('\n', Qt::SkipEmptyParts)); + const auto expander = m_buildConfiguration->macroExpander(); + + const QStringList lines = editor->toPlainText().split('\n', Qt::SkipEmptyParts); + const QStringList expandedLines = Utils::transform(lines, + [expander](const QString &s) { + return expander->expand(s); + }); + const CMakeConfig config = CMakeConfigItem::itemsFromArguments(expandedLines); m_configModel->setBatchEditConfiguration(config); });