aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2023-02-23 15:06:22 +0100
committerCristian Adam <cristian.adam@qt.io>2023-02-28 11:47:48 +0000
commitcdee94d6419820c27e3f95fed60167cebd410825 (patch)
treed618521f4517c098c04c2216c71b921ac207413a
parent87c00b86dbf75a9204041b0b8e836415b97dc125 (diff)
CMakePM: Ensure Initial Parameters values on build config Clone
Fixes: QTCREATORBUG-28759 Change-Id: I8d7fa476ff487cf4bf5005f1ccfec65ffc59ed1c Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp4
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index 7c0f6227ff..746a64050e 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -502,6 +502,10 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildSystem *bs) :
updateInitialCMakeArguments();
});
+ connect(m_buildSystem->target()->project(), &Project::aboutToSaveSettings, this, [this] {
+ updateInitialCMakeArguments();
+ });
+
connect(bc->aspect<InitialCMakeArgumentsAspect>(),
&Utils::BaseAspect::labelLinkActivated,
this,
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 67cb480670..410449083c 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -276,6 +276,9 @@ void BuildSettingsWidget::cloneConfiguration()
if (name.isEmpty())
return;
+ // Save the current build configuration settings, so that the clone gets all the settings
+ m_target->project()->saveSettings();
+
BuildConfiguration *bc = BuildConfigurationFactory::clone(m_target, m_buildConfiguration);
if (!bc)
return;