diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index 9dead1d5550..25d922bfe8d 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -38,17 +38,20 @@ Macros *McuSdkRepository::globalMacros() void McuSdkRepository::expandVariables() { - auto macroExpander = getMacroExpander(); - for (const auto &package : std::as_const(packages)) - package->setPath(macroExpander->expand(package->path())); + for (const auto &target : std::as_const(mcuTargets)) { + auto macroExpander = getMacroExpander(*target); + for (const auto &package : target->packages()) { + package->setPath(macroExpander->expand(package->path())); + } + } } -MacroExpanderPtr McuSdkRepository::getMacroExpander() +MacroExpanderPtr McuSdkRepository::getMacroExpander(const McuTarget &target) { auto macroExpander = std::make_shared(); //register the macros - for (const auto &package : std::as_const(packages)) { + for (const auto &package : target.packages()) { macroExpander->registerVariable(package->cmakeVariableName().toLocal8Bit(), package->label(), [package] { return package->path().toString(); }); diff --git a/src/plugins/mcusupport/mcusupportoptions.h b/src/plugins/mcusupport/mcusupportoptions.h index 220fc54f125..8fddf21ab40 100644 --- a/src/plugins/mcusupport/mcusupportoptions.h +++ b/src/plugins/mcusupport/mcusupportoptions.h @@ -41,7 +41,7 @@ public: Packages packages; void expandVariables(); - MacroExpanderPtr getMacroExpander(); + MacroExpanderPtr getMacroExpander(const McuTarget &target); static Macros *globalMacros(); };