From e6ec73517e2df0298a25a493a322d2daa078176a Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Wed, 19 May 2021 15:51:53 +0200 Subject: [PATCH] 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 --- src/plugins/qnx/qnxconfiguration.cpp | 17 +++++++++++------ src/plugins/qnx/qnxconfiguration.h | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/plugins/qnx/qnxconfiguration.cpp b/src/plugins/qnx/qnxconfiguration.cpp index ec8c8091d5d..4a55f7118fc 100644 --- a/src/plugins/qnx/qnxconfiguration.cpp +++ b/src/plugins/qnx/qnxconfiguration.cpp @@ -256,7 +256,7 @@ void QnxConfiguration::createTools(const Target &target) QVariant QnxConfiguration::createDebugger(const Target &target) { Utils::Environment sysEnv = Utils::Environment::systemEnvironment(); - setQnxValuesToEnvironment(sysEnv); + sysEnv.modify(qnxEnvironmentItems()); Debugger::DebuggerItem debugger; debugger.setCommand(target.m_debuggerPath); debugger.reinitializeFromFile(sysEnv); @@ -342,6 +342,8 @@ void QnxConfiguration::createKit(const Target &target, const QnxToolChainMap &to k->setSticky(SysRootKitAspect::id(), true); k->setSticky(DebuggerKitAspect::id(), true); k->setSticky(QmakeProjectManager::Constants::KIT_INFORMATION_ID, true); + + EnvironmentKitAspect::setEnvironmentChanges(k, qnxEnvironmentItems()); }; // 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()); - env.set(QNXTarget, m_qnxTarget.toString()); - env.set(QNXHost, m_qnxHost.toString()); + Utils::EnvironmentItems envList; + envList.push_back(EnvironmentItem(QNXConfiguration, m_qnxConfiguration.toString())); + envList.push_back(EnvironmentItem(QNXTarget, m_qnxTarget.toString())); + envList.push_back(EnvironmentItem(QNXHost, m_qnxHost.toString())); + + return envList; } const QnxConfiguration::Target *QnxConfiguration::findTargetByDebuggerPath( @@ -445,7 +450,7 @@ void QnxConfiguration::assignDebuggersToTargets() QStringList(HostOsInfo::withExecutableSuffix(QLatin1String("nto*-gdb"))), QDir::Files); Utils::Environment sysEnv = Utils::Environment::systemEnvironment(); - setQnxValuesToEnvironment(sysEnv); + sysEnv.modify(qnxEnvironmentItems()); foreach (const QString &debuggerName, debuggerNames) { const FilePath debuggerPath = FilePath::fromString(hostUsrBinDir.path()) .pathAppended(debuggerName); diff --git a/src/plugins/qnx/qnxconfiguration.h b/src/plugins/qnx/qnxconfiguration.h index 4b646f8f793..a9b9d7a9e74 100644 --- a/src/plugins/qnx/qnxconfiguration.h +++ b/src/plugins/qnx/qnxconfiguration.h @@ -90,7 +90,7 @@ private: void setDefaultConfiguration(const Utils::FilePath &envScript); - void setQnxValuesToEnvironment(Utils::Environment &env); + Utils::EnvironmentItems qnxEnvironmentItems() const; QString m_configName;