diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index d928c945732b2cd0bd7ab1b0dec7d7b031f42c44..af88146100118c5756f33d63d98155f82b685f9e 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -1813,6 +1813,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async) // update TargetInformation m_qt4targetInformation = targetInformation(m_readerExact); + m_resolvedMkspecPath = m_project->proFileOption()->qmakespec; setupInstallsList(m_readerExact); setupProjectVersion(m_readerExact); @@ -2141,6 +2142,11 @@ TargetInformation Qt4ProFileNode::targetInformation() const return m_qt4targetInformation; } +QString Qt4ProFileNode::resolvedMkspecPath() const +{ + return m_resolvedMkspecPath; +} + void Qt4ProFileNode::setupInstallsList(const QtSupport::ProFileReader *reader) { m_installsList.clear(); diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index ed91b74b0d89997aefcd352b73219b670b9ab180..0d78d28efb6220de2927409d4ba108cf3a0797f9 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -355,6 +355,7 @@ public: QString makefile() const; QStringList symbianCapabilities() const; bool isDeployable() const; + QString resolvedMkspecPath() const; void update(); void scheduleUpdate(); @@ -404,6 +405,7 @@ private: QMap<QString, QDateTime> m_uitimestamps; TargetInformation m_qt4targetInformation; + QString m_resolvedMkspecPath; InstallsList m_installsList; ProjectVersion m_projectVersion; friend class Qt4NodeHierarchy; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 1d06522bb1fbe1cd23545e3388f6121ff2f1728d..8bf78b296fcad3bed8a4f9ed20df34b45fd89465 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -553,7 +553,9 @@ void Qt4Project::updateCppCodeModel() } // Add mkspec directory - if (activeBC->qtVersion()) + if (rootQt4ProjectNode()) + allIncludePaths.append(rootQt4ProjectNode()->resolvedMkspecPath()); + else if (activeBC->qtVersion()) allIncludePaths.append(activeBC->qtVersion()->mkspecPath()); allIncludePaths.append(predefinedIncludePaths); @@ -969,10 +971,12 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro m_proFileOption->environment.insert(env.key(eit), env.value(eit)); QStringList args; - if (QMakeStep *qs = bc->qmakeStep()) + if (QMakeStep *qs = bc->qmakeStep()) { args = qs->parserArguments(); - else + m_proFileOption->qmakespec = qs->mkspec(); + } else { args = bc->configCommandLineArguments(); + } m_proFileOption->setCommandLineArguments(args); } @@ -987,6 +991,11 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro return reader; } +ProFileOption *Qt4Project::proFileOption() +{ + return m_proFileOption; +} + void Qt4Project::destroyProFileReader(QtSupport::ProFileReader *reader) { delete reader; diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h index f9533b36bfa549e2a84076e9db4adb4e353c2c08..500af03cd337b603c331835d39c73ec492bce9b5 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qt4project.h @@ -118,6 +118,8 @@ public: /// \internal QtSupport::ProFileReader *createProFileReader(Qt4ProFileNode *qt4ProFileNode, Qt4BuildConfiguration *bc = 0); /// \internal + ProFileOption *proFileOption(); + /// \internal void destroyProFileReader(QtSupport::ProFileReader *reader); /// \internal