diff options
| author | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-12-10 12:53:20 +0100 |
|---|---|---|
| committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-12-10 12:53:20 +0100 |
| commit | 9f831dde07cb2411808534e76669b28a1b76e21d (patch) | |
| tree | ed6252d64c9a3ab27aa93786272cda1b6008f3c7 /src/plugins/qnx/blackberryconfiguration.cpp | |
| parent | cdac81f896ef4b052d76f96485a08e6ec13696b8 (diff) | |
| parent | ea1a92484ac99057b06130a012164bf9788650e9 (diff) | |
| download | qt-creator-9f831dde07cb2411808534e76669b28a1b76e21d.tar.gz | |
Merge remote-tracking branch 'origin/master' into wip/clangwip/clang
Change-Id: I8a2c8068a3f2b15034fb1bf6304c9a0f3f0e3c8f
Diffstat (limited to 'src/plugins/qnx/blackberryconfiguration.cpp')
| -rw-r--r-- | src/plugins/qnx/blackberryconfiguration.cpp | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp index 9125b07a62..ec6f95587d 100644 --- a/src/plugins/qnx/blackberryconfiguration.cpp +++ b/src/plugins/qnx/blackberryconfiguration.cpp @@ -33,7 +33,8 @@ #include "blackberryqtversion.h" #include "qnxtoolchain.h" -#include "qnxutils.h" + +#include <utils/qtcassert.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/kitmanager.h> @@ -62,14 +63,30 @@ using namespace Debugger; namespace Qnx { namespace Internal { -BlackBerryConfiguration::BlackBerryConfiguration(const FileName &ndkEnvFile, bool isAutoDetected, - const QString &displayName) +BlackBerryConfiguration::BlackBerryConfiguration(const NdkInstallInformation &ndkInstallInfo) + : m_isAutoDetected(true) +{ + QString envFilePath = QnxUtils::envFilePath(ndkInstallInfo.path, ndkInstallInfo.version); + QTC_ASSERT(!envFilePath.isEmpty(), return); + m_ndkEnvFile = Utils::FileName::fromString(envFilePath); + m_displayName = ndkInstallInfo.name; + m_qnxEnv = QnxUtils::qnxEnvironmentFromNdkFile(m_ndkEnvFile.toString()); + QString sep = QString::fromLatin1("/qnx6"); + // The QNX_TARGET value is using Unix-like separator on all platforms. + m_targetName = ndkInstallInfo.target.split(sep).first().split(QLatin1Char('/')).last(); + m_qnxHost = ndkInstallInfo.host; + m_sysRoot = FileName::fromString(ndkInstallInfo.target); + m_version = BlackBerryVersionNumber(ndkInstallInfo.version); + ctor(); +} + +BlackBerryConfiguration::BlackBerryConfiguration(const FileName &ndkEnvFile) + : m_isAutoDetected(false) { - Q_ASSERT(!QFileInfo(ndkEnvFile.toString()).isDir()); + QTC_ASSERT(!QFileInfo(ndkEnvFile.toString()).isDir(), return); m_ndkEnvFile = ndkEnvFile; - m_isAutoDetected = isAutoDetected; - QString ndkPath = ndkEnvFile.parentDir().toString(); - m_displayName = displayName.isEmpty() ? ndkPath.split(QDir::separator()).last() : displayName; + QString ndkPath = m_ndkEnvFile.parentDir().toString(); + m_displayName = ndkPath.split(QDir::separator()).last(); m_qnxEnv = QnxUtils::qnxEnvironmentFromNdkFile(m_ndkEnvFile.toString()); QString ndkTarget; @@ -89,6 +106,15 @@ BlackBerryConfiguration::BlackBerryConfiguration(const FileName &ndkEnvFile, boo if (QDir(ndkTarget).exists()) m_sysRoot = FileName::fromString(ndkTarget); + m_version = BlackBerryVersionNumber::fromNdkEnvFileName(QFileInfo(m_ndkEnvFile.toString()).baseName()); + if (m_version.isEmpty()) + m_version = BlackBerryVersionNumber::fromTargetName(m_targetName); + + ctor(); +} + +void BlackBerryConfiguration::ctor() +{ FileName qmake4Path = QnxUtils::executableWithExtension(FileName::fromString(m_qnxHost + QLatin1String("/usr/bin/qmake"))); FileName qmake5Path = QnxUtils::executableWithExtension(FileName::fromString(m_qnxHost + QLatin1String("/usr/bin/qt5/qmake"))); FileName gccPath = QnxUtils::executableWithExtension(FileName::fromString(m_qnxHost + QLatin1String("/usr/bin/qcc"))); @@ -131,6 +157,11 @@ QString BlackBerryConfiguration::qnxHost() const return m_qnxHost; } +BlackBerryVersionNumber BlackBerryConfiguration::version() const +{ + return m_version; +} + bool BlackBerryConfiguration::isAutoDetected() const { return m_isAutoDetected; |
