QNX: Add specific environment variables to the kit

This way they can be forwarded to the debugger, which starting
with version QNX 7.1 requires also these environment variables
to be set.

Change-Id: I9ad7cf6032f65980ce96dea1cba8beebf7dfc996
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Cristian Adam
2021-05-19 15:51:53 +02:00
parent f205412e4e
commit e6ec73517e
2 changed files with 12 additions and 7 deletions

View File

@@ -256,7 +256,7 @@ void QnxConfiguration::createTools(const Target &target)
QVariant QnxConfiguration::createDebugger(const Target &target) QVariant QnxConfiguration::createDebugger(const Target &target)
{ {
Utils::Environment sysEnv = Utils::Environment::systemEnvironment(); Utils::Environment sysEnv = Utils::Environment::systemEnvironment();
setQnxValuesToEnvironment(sysEnv); sysEnv.modify(qnxEnvironmentItems());
Debugger::DebuggerItem debugger; Debugger::DebuggerItem debugger;
debugger.setCommand(target.m_debuggerPath); debugger.setCommand(target.m_debuggerPath);
debugger.reinitializeFromFile(sysEnv); debugger.reinitializeFromFile(sysEnv);
@@ -342,6 +342,8 @@ void QnxConfiguration::createKit(const Target &target, const QnxToolChainMap &to
k->setSticky(SysRootKitAspect::id(), true); k->setSticky(SysRootKitAspect::id(), true);
k->setSticky(DebuggerKitAspect::id(), true); k->setSticky(DebuggerKitAspect::id(), true);
k->setSticky(QmakeProjectManager::Constants::KIT_INFORMATION_ID, true); k->setSticky(QmakeProjectManager::Constants::KIT_INFORMATION_ID, true);
EnvironmentKitAspect::setEnvironmentChanges(k, qnxEnvironmentItems());
}; };
// add kit with device and qt version not sticky // add kit with device and qt version not sticky
@@ -415,11 +417,14 @@ void QnxConfiguration::setDefaultConfiguration(const Utils::FilePath &envScript)
}); });
} }
void QnxConfiguration::setQnxValuesToEnvironment(Utils::Environment &env) EnvironmentItems QnxConfiguration::qnxEnvironmentItems() const
{ {
env.set(QNXConfiguration, m_qnxConfiguration.toString()); Utils::EnvironmentItems envList;
env.set(QNXTarget, m_qnxTarget.toString()); envList.push_back(EnvironmentItem(QNXConfiguration, m_qnxConfiguration.toString()));
env.set(QNXHost, m_qnxHost.toString()); envList.push_back(EnvironmentItem(QNXTarget, m_qnxTarget.toString()));
envList.push_back(EnvironmentItem(QNXHost, m_qnxHost.toString()));
return envList;
} }
const QnxConfiguration::Target *QnxConfiguration::findTargetByDebuggerPath( const QnxConfiguration::Target *QnxConfiguration::findTargetByDebuggerPath(
@@ -445,7 +450,7 @@ void QnxConfiguration::assignDebuggersToTargets()
QStringList(HostOsInfo::withExecutableSuffix(QLatin1String("nto*-gdb"))), QStringList(HostOsInfo::withExecutableSuffix(QLatin1String("nto*-gdb"))),
QDir::Files); QDir::Files);
Utils::Environment sysEnv = Utils::Environment::systemEnvironment(); Utils::Environment sysEnv = Utils::Environment::systemEnvironment();
setQnxValuesToEnvironment(sysEnv); sysEnv.modify(qnxEnvironmentItems());
foreach (const QString &debuggerName, debuggerNames) { foreach (const QString &debuggerName, debuggerNames) {
const FilePath debuggerPath = FilePath::fromString(hostUsrBinDir.path()) const FilePath debuggerPath = FilePath::fromString(hostUsrBinDir.path())
.pathAppended(debuggerName); .pathAppended(debuggerName);

View File

@@ -90,7 +90,7 @@ private:
void setDefaultConfiguration(const Utils::FilePath &envScript); void setDefaultConfiguration(const Utils::FilePath &envScript);
void setQnxValuesToEnvironment(Utils::Environment &env); Utils::EnvironmentItems qnxEnvironmentItems() const;
QString m_configName; QString m_configName;