McuSupport: Enable and preselect usage of the shipped JOM (on Windows)

- Set CMake generator to "NMake Makefiles JOM"
- Add ICore::libexecPath to environment path
- Set the environment for the run configuration

Change-Id: Ie7b2dc1513b366911b429d77cc4a1954be531075
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
This commit is contained in:
Alessandro Portale
2019-10-31 16:01:35 +01:00
committed by Aurindam Jana
parent 28d2134d46
commit 907c35dc00
2 changed files with 7 additions and 4 deletions

View File

@@ -455,10 +455,10 @@ static void setKitEnvironment(ProjectExplorer::Kit *k, const BoardOptions* board
changes.append({package->environmentVariableName(), changes.append({package->environmentVariableName(),
QDir::toNativeSeparators(package->path())}); QDir::toNativeSeparators(package->path())});
} }
if (!pathAdditions.isEmpty()) { pathAdditions.append("${Path}");
pathAdditions.append("${Path}"); if (Utils::HostOsInfo::isWindowsHost())
changes.append({"Path", pathAdditions.join(Utils::HostOsInfo::pathListSeparator())}); pathAdditions.append(QDir::toNativeSeparators(Core::ICore::libexecPath())); // for jom
} changes.append({"Path", pathAdditions.join(Utils::HostOsInfo::pathListSeparator())});
EnvironmentKitAspect::setEnvironmentChanges(k, changes); EnvironmentKitAspect::setEnvironmentChanges(k, changes);
} }
@@ -471,6 +471,8 @@ static void setKitCMakeOptions(ProjectExplorer::Kit *k, const BoardOptions* boar
("%{CurrentBuild:Env:Qul_DIR}/" + ("%{CurrentBuild:Env:Qul_DIR}/" +
board->toolChainFile()).toUtf8())); board->toolChainFile()).toUtf8()));
CMakeConfigurationKitAspect::setConfiguration(k, config); CMakeConfigurationKitAspect::setConfiguration(k, config);
if (Utils::HostOsInfo::isWindowsHost())
CMakeGeneratorKitAspect::setGenerator(k, "NMake Makefiles JOM");
} }
ProjectExplorer::Kit *McuSupportOptions::kit(const BoardOptions* board) ProjectExplorer::Kit *McuSupportOptions::kit(const BoardOptions* board)

View File

@@ -94,6 +94,7 @@ public:
r.workingDirectory = r.workingDirectory =
target->activeBuildConfiguration()->buildDirectory().toUserOutput(); target->activeBuildConfiguration()->buildDirectory().toUserOutput();
r.setCommandLine(cmd); r.setCommandLine(cmd);
r.environment = target->activeBuildConfiguration()->environment();
SimpleTargetRunner::doStart(r, {}); SimpleTargetRunner::doStart(r, {});
}); });
} }