diff options
author | Sergey Shambir <sergey.shambir.auto@gmail.com> | 2013-04-28 16:59:44 +0400 |
---|---|---|
committer | Sergey Shambir <sergey.shambir.auto@gmail.com> | 2013-05-02 12:59:49 +0200 |
commit | 535bdcc9d92f9ff42cc88fd3083c5eec03c161f6 (patch) | |
tree | 4b87df083cc5c74a43cdfa42eaff9f1d67318fa0 /src/plugins/qt4projectmanager/qt4project.cpp | |
parent | 2d8a9674b42dea871efaa1bca5b96cbaeec4b060 (diff) |
Qt4Project: simplified C++ codemodel interaction.
Now it uses ProjectPart::evaluateToolchain() to read toolchain info with
given compiler flags.
Change-Id: I9afce7090eba6fc0662981dfd065603ac235a83f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4project.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/qt4project.cpp | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 959865161c..d144706bca 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -515,13 +515,11 @@ void Qt4Project::updateCppCodeModel() Kit *k = 0; QtSupport::BaseQtVersion *qtVersion = 0; - ToolChain *tc = 0; if (ProjectExplorer::Target *target = activeTarget()) k = target->kit(); else k = KitManager::instance()->defaultKit(); qtVersion = QtSupport::QtKitInformation::qtVersion(k); - tc = ToolChainKitInformation::toolChain(k); CppTools::CppModelManagerInterface *modelmanager = CppTools::CppModelManagerInterface::instance(); @@ -552,46 +550,35 @@ void Qt4Project::updateCppCodeModel() part->qtVersion = ProjectPart::NoQt; const QStringList cxxflags = pro->variableValue(CppFlagsVar); + part->evaluateToolchain(ToolChainKitInformation::toolChain(k), + cxxflags, + cxxflags, + SysRootKitInformation::sysRoot(k)); // part->defines - if (tc) - part->defines = tc->predefinedMacros(cxxflags); part->defines += pro->cxxDefines(); - // part->includePaths + // part->includePaths, part->frameworkPaths part->includePaths.append(pro->variableValue(IncludePathVar)); - QList<HeaderPath> headers; - if (tc) - headers = tc->systemHeaderPaths(cxxflags, SysRootKitInformation::sysRoot(k)); - if (qtVersion) - headers.append(qtVersion->systemHeaderPathes(k)); - - foreach (const HeaderPath &headerPath, headers) { - if (headerPath.kind() == HeaderPath::FrameworkHeaderPath) - part->frameworkPaths.append(headerPath.path()); - else - part->includePaths.append(headerPath.path()); - } - if (qtVersion) { + foreach (const HeaderPath &header, qtVersion->systemHeaderPathes(k)) { + if (header.kind() == HeaderPath::FrameworkHeaderPath) + part->frameworkPaths.append(header.path()); + else + part->includePaths.append(header.path()); + } if (!qtVersion->frameworkInstallPath().isEmpty()) part->frameworkPaths.append(qtVersion->frameworkInstallPath()); - } + if (Qt4ProFileNode *node = rootQt4ProjectNode()) part->includePaths.append(node->resolvedMkspecPath()); // part->precompiledHeaders part->precompiledHeaders.append(pro->variableValue(PrecompiledHeaderVar)); - // part->language - if (tc) - part->cxxVersion = (tc->compilerFlags(cxxflags) | ToolChain::StandardCxx11) - ? ProjectPart::CXX11 : ProjectPart::CXX98; - else - part->cxxVersion = ProjectPart::CXX11; - + // part->files foreach (const QString &file, pro->variableValue(CppSourceVar)) { allFiles << file; part->files << ProjectFile(file, ProjectFile::CXXSource); |