Revert "Fix setting of LD_LIBRARY_PATH in the run environment."

This reverts commit 4ba7f2b7f3.
This commit is contained in:
dt_
2011-04-29 13:25:25 +02:00
parent 4ba7f2b7f3
commit 0811b24628
4 changed files with 21 additions and 16 deletions

View File

@@ -174,6 +174,21 @@ void Environment::prependOrSetPath(const QString &value)
prependOrSet(QLatin1String("PATH"), QDir::toNativeSeparators(value), QString(sep)); prependOrSet(QLatin1String("PATH"), QDir::toNativeSeparators(value), QString(sep));
} }
void Environment::prependOrSetLibrarySearchPath(const QString &value)
{
#ifdef Q_OS_MAC
// we could set DYLD_LIBRARY_PATH on Mac but it is unnecessary in practice
#elif Q_OS_WIN
const QChar sep = QLatin1Char(';');
const QLatin1String path("PATH");
prependOrSet(path, QDir::toNativeSeparators(value), QString(sep));
#elif Q_OS_UNIX
const QChar sep = QLatin1Char(':');
const QLatin1String path("LD_LIBRARY_PATH");
prependOrSet(path, QDir::toNativeSeparators(value), QString(sep));
#endif
}
Environment Environment::systemEnvironment() Environment Environment::systemEnvironment()
{ {
return Environment(QProcess::systemEnvironment()); return Environment(QProcess::systemEnvironment());

View File

@@ -85,6 +85,8 @@ public:
void appendOrSetPath(const QString &value); void appendOrSetPath(const QString &value);
void prependOrSetPath(const QString &value); void prependOrSetPath(const QString &value);
void prependOrSetLibrarySearchPath(const QString &value);
void clear(); void clear();
int size() const; int size() const;

View File

@@ -602,16 +602,11 @@ Utils::Environment Qt4RunConfiguration::baseEnvironment() const
// The user could be linking to a library found via a -L/some/dir switch // The user could be linking to a library found via a -L/some/dir switch
// to find those libraries while actually running we explicitly prepend those // to find those libraries while actually running we explicitly prepend those
// dirs to the library search path on windows/linux // dirs to the library search path
const Qt4ProFileNode *node = qt4Target()->qt4Project()->rootProjectNode()->findProFileFor(m_proFilePath); const Qt4ProFileNode *node = qt4Target()->qt4Project()->rootProjectNode()->findProFileFor(m_proFilePath);
const ProjectExplorer::Abi runAbi = abi();
if (node) if (node)
foreach (const QString &dir, node->variableValue(LibDirectoriesVar)) { foreach(const QString &dir, node->variableValue(LibDirectoriesVar))
if (runAbi.os() == ProjectExplorer::Abi::WindowsOS) env.prependOrSetLibrarySearchPath(dir);
env.prependOrSetPath(dir);
else if (runAbi.osFlavor() == ProjectExplorer::Abi::GenericLinuxFlavor)
env.prependOrSet(QLatin1String("LD_LIBRARY_PATH"), dir, QLatin1String(":"));
}
return env; return env;
} }

View File

@@ -1722,14 +1722,7 @@ void QtVersion::addToEnvironment(Utils::Environment &env) const
// Generic: // Generic:
env.set("QTDIR", QDir::toNativeSeparators(versionInfo().value("QT_INSTALL_DATA"))); env.set("QTDIR", QDir::toNativeSeparators(versionInfo().value("QT_INSTALL_DATA")));
env.prependOrSetPath(versionInfo().value("QT_INSTALL_BINS")); env.prependOrSetPath(versionInfo().value("QT_INSTALL_BINS"));
env.prependOrSetLibrarySearchPath(versionInfo().value("QT_INSTALL_LIBS"));
// set LD_LIBRARY_PATH for generic linux
foreach (const ProjectExplorer::Abi &abi, qtAbis()) {
if (abi.osFlavor() == ProjectExplorer::Abi::GenericLinuxFlavor) {
env.prependOrSet(QLatin1String("LD_LIBRARY_PATH"), versionInfo().value("QT_INSTALL_LIBS"), QLatin1String(":"));
break;
}
}
// Symbian specific: // Symbian specific:
if (supportsTargetId(Constants::S60_DEVICE_TARGET_ID) if (supportsTargetId(Constants::S60_DEVICE_TARGET_ID)