diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index ae5c5f4b153..1aba15b1b71 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -527,6 +527,8 @@ void createAutomaticKits(const SettingsHandler::Ptr &settingsHandler) } McuSdkRepository repo{targetsAndPackages(qtForMCUsPackage, settingsHandler)}; + McuSdkRepository::updateQtDirMacro(qtForMCUsPackage->path()); + repo.expandVariablesAndWildcards(); bool needsUpgrade = false; for (const auto &target : std::as_const(repo.mcuTargets)) { diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index 1c7a170f8a9..d2d57973b11 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -77,6 +77,15 @@ Macros *McuSdkRepository::globalMacros() return ¯os; } +void McuSdkRepository::updateQtDirMacro(const FilePath &qulDir) +{ + // register the Qt installation directory containing Qul dir + auto qtPath = (qulDir / "../..").cleanPath(); + if (qtPath.exists()) { + globalMacros()->insert("QtDir", [qtPathString = qtPath.path()] { return qtPathString; }); + } +} + void McuSdkRepository::expandVariablesAndWildcards() { for (const auto &target : std::as_const(mcuTargets)) { @@ -198,13 +207,7 @@ bool McuSupportOptions::isLegacyVersion(const QVersionNumber &version) void McuSupportOptions::setQulDir(const FilePath &path) { - //register the Qt installation directory containing Qul dir - auto qtPath = (path / "../..").cleanPath(); - if (qtPath.exists()) { - McuSdkRepository::globalMacros()->insert("QtDir", [qtPathString = qtPath.path()] { - return qtPathString; - }); - } + McuSdkRepository::updateQtDirMacro(path); qtForMCUsSdkPackage->updateStatus(); if (qtForMCUsSdkPackage->isValidStatus()) sdkRepository = targetsAndPackages(qtForMCUsSdkPackage, settingsHandler); diff --git a/src/plugins/mcusupport/mcusupportoptions.h b/src/plugins/mcusupport/mcusupportoptions.h index f6e39e529ae..7c2709d2599 100644 --- a/src/plugins/mcusupport/mcusupportoptions.h +++ b/src/plugins/mcusupport/mcusupportoptions.h @@ -40,6 +40,7 @@ public: Targets mcuTargets; Packages packages; + static void updateQtDirMacro(const Utils::FilePath &qulDir); void expandVariablesAndWildcards(); MacroExpanderPtr getMacroExpander(const McuTarget &target);