From 479aa2dc28c0878dedd8851499ff716918fec69c Mon Sep 17 00:00:00 2001 From: Jake Petroules <jake.petroules@petroules.com> Date: Sat, 12 Oct 2013 14:23:09 -0400 Subject: [PATCH] Export CONFIG and QT_CONFIG from qconfig.pri to QBS. Task-number: QBS-397 Change-Id: I9b29781e752176d0cf71221b896a6ac017538c7b Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- .../defaultpropertyprovider.cpp | 2 ++ src/plugins/qbsprojectmanager/qbsconstants.h | 2 ++ src/plugins/qtsupport/baseqtversion.cpp | 17 +++++++++++++++-- src/plugins/qtsupport/baseqtversion.h | 7 +++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp index a5444559d21..139a153af0b 100644 --- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp +++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp @@ -67,6 +67,8 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k, c data.insert(QLatin1String(QTCORE_VERSION), qt->qtVersionString()); if (qt->isFrameworkBuild()) data.insert(QLatin1String(QTCORE_FRAMEWORKBUILD), true); + data.insert(QLatin1String(QTCORE_CONFIG), qt->configValues()); + data.insert(QLatin1String(QTCORE_QTCONFIG), qt->qtConfigValues()); } if (ProjectExplorer::SysRootKitInformation::hasSysRoot(k)) diff --git a/src/plugins/qbsprojectmanager/qbsconstants.h b/src/plugins/qbsprojectmanager/qbsconstants.h index 9b8cf7c15f1..148999ff975 100644 --- a/src/plugins/qbsprojectmanager/qbsconstants.h +++ b/src/plugins/qbsprojectmanager/qbsconstants.h @@ -45,6 +45,8 @@ const char QTCORE_NAMESPACE[] = "Qt.core.namespace"; const char QTCORE_LIBINFIX[] = "Qt.core.libInfix"; const char QTCORE_MKSPEC[] = "Qt.core.mkspecPath"; const char QTCORE_FRAMEWORKBUILD[] = "Qt.core.frameworkBuild"; +const char QTCORE_CONFIG[] = "Qt.core.config"; +const char QTCORE_QTCONFIG[] = "Qt.core.qtConfig"; // Toolchain related settings: diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index d1d9cd66256..98ca503fb10 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -815,10 +815,11 @@ void BaseQtVersion::ensureMkSpecParsed() const void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const { - QStringList configValues = evaluator->values(QLatin1String("CONFIG")); + m_configValues = evaluator->values(QLatin1String("CONFIG")); + m_qtConfigValues = evaluator->values(QLatin1String("QT_CONFIG")); m_defaultConfigIsDebugAndRelease = false; m_frameworkBuild = false; - foreach (const QString &value, configValues) { + foreach (const QString &value, m_configValues) { if (value == QLatin1String("debug")) m_defaultConfigIsDebug = true; else if (value == QLatin1String("release")) @@ -1050,6 +1051,18 @@ QString BaseQtVersion::examplesPath() const return qmakeProperty("QT_INSTALL_EXAMPLES"); } +QStringList BaseQtVersion::configValues() const +{ + ensureMkSpecParsed(); + return m_configValues; +} + +QStringList BaseQtVersion::qtConfigValues() const +{ + ensureMkSpecParsed(); + return m_qtConfigValues; +} + QList<HeaderPath> BaseQtVersion::systemHeaderPathes(const Kit *k) const { Q_UNUSED(k); diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 6093488f040..6ff0b22bf0b 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -36,6 +36,7 @@ #include <projectexplorer/abi.h> +#include <QStringList> #include <QVariantMap> namespace Utils { @@ -235,6 +236,9 @@ public: bool hasDebugBuild() const; bool hasReleaseBuild() const; + QStringList configValues() const; + QStringList qtConfigValues() const; + protected: BaseQtVersion(); BaseQtVersion(const Utils::FileName &path, bool isAutodetected = false, const QString &autodetectionSource = QString()); @@ -279,6 +283,9 @@ private: mutable bool m_qmakeIsExecutable; mutable bool m_hasQtAbis; + mutable QStringList m_configValues; + mutable QStringList m_qtConfigValues; + QString m_displayName; QString m_autodetectionSource; mutable Utils::FileName m_sourcePath; -- GitLab