McuSupport: Evaluate macros in paths when applying settings

A macro entered by a user was not evaluated. Only the initial strings where
expanded when the targets are created on first start.

Task-number: UL-6697
Change-Id: I642bb4bc41e116cd0fe7f002da3d7f3cb301e62d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
This commit is contained in:
Rainer Keller
2022-10-18 13:41:13 +02:00
parent 1db2a10b73
commit 9566124cad

View File

@@ -8,6 +8,7 @@
#include "mcusupportoptions.h" #include "mcusupportoptions.h"
#include "mcusupportsdk.h" #include "mcusupportsdk.h"
#include "mcutarget.h" #include "mcutarget.h"
#include "mcutargetfactory.h"
#include "settingshandler.h" #include "settingshandler.h"
#include <cmakeprojectmanager/cmakeprojectconstants.h> #include <cmakeprojectmanager/cmakeprojectconstants.h>
@@ -286,6 +287,7 @@ void McuSupportOptionsWidget::apply()
bool pathsChanged = false; bool pathsChanged = false;
m_settingsHandler->setAutomaticKitCreation(m_options.automaticKitCreationEnabled()); m_settingsHandler->setAutomaticKitCreation(m_options.automaticKitCreationEnabled());
McuTargetFactory::expandVariables(m_options.sdkRepository.packages);
pathsChanged |= m_options.qtForMCUsSdkPackage->writeToSettings(); pathsChanged |= m_options.qtForMCUsSdkPackage->writeToSettings();
for (const auto &package : std::as_const(m_options.sdkRepository.packages)) for (const auto &package : std::as_const(m_options.sdkRepository.packages))
pathsChanged |= package->writeToSettings(); pathsChanged |= package->writeToSettings();