From 6ba90cd06a8953ef55108396b24c379c1f0aac99 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 17 Feb 2017 16:17:01 +0100 Subject: [PATCH] QbsProjectManager: Set proper Qt version for C++ Code Model Change-Id: I04b5524e971e5617a9bae88c1fcab087d62d7a73 Reviewed-by: Christian Kandeler --- src/plugins/qbsprojectmanager/qbsproject.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 438c40f2336..7b6709abcd9 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -916,12 +916,12 @@ void QbsProject::updateCppCodeModel() QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(activeTarget()->kit()); - CppTools::ProjectPart::QtVersion qtVersionForPart = CppTools::ProjectPart::NoQt; + CppTools::ProjectPart::QtVersion qtVersionFromKit = CppTools::ProjectPart::NoQt; if (qtVersion) { if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) - qtVersionForPart = CppTools::ProjectPart::Qt4; + qtVersionFromKit = CppTools::ProjectPart::Qt4; else - qtVersionForPart = CppTools::ProjectPart::Qt5; + qtVersionFromKit = CppTools::ProjectPart::Qt5; } QList factories = @@ -955,9 +955,13 @@ void QbsProject::updateCppCodeModel() std::for_each(sourceArtifacts.cbegin(), sourceArtifacts.cend(), pchFinder); } + const CppTools::ProjectPart::QtVersion qtVersionForPart = + prd.moduleProperties().getModuleProperty("Qt.core", "version").isValid() + ? qtVersionFromKit + : CppTools::ProjectPart::NoQt; + foreach (const qbs::GroupData &grp, prd.groups()) { CppTools::RawProjectPart rpp; - // TODO: Set the Qt version only if this particular product depends on Qt. rpp.setQtVersion(qtVersionForPart); const qbs::PropertyMap &props = grp.properties();