From 651460cd8d87a8c351a6064beed31d61985ad0c8 Mon Sep 17 00:00:00 2001 From: Alexander Drozdov Date: Thu, 24 Nov 2016 13:53:53 +1000 Subject: CMake: separate processing C and C++ flags in TeaLeafReader C and C++ flags holds at the different variables/compiler settings in the generated Make and Ninja files. Currently only C++ Flags processed and assumes that same one uses for C lang. But now QtC core can handle C and C++ separatelly, so just add processing for that flags and use it for code model. Change-Id: If1f71a2c58284a46324f04e962fc120cc316b0fb Reviewed-by: Tobias Hunger --- src/plugins/cmakeprojectmanager/tealeafreader.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/plugins/cmakeprojectmanager/tealeafreader.h') diff --git a/src/plugins/cmakeprojectmanager/tealeafreader.h b/src/plugins/cmakeprojectmanager/tealeafreader.h index 9c54472d61b..7451de7ed9b 100644 --- a/src/plugins/cmakeprojectmanager/tealeafreader.h +++ b/src/plugins/cmakeprojectmanager/tealeafreader.h @@ -25,8 +25,12 @@ #pragma once +#include + #include "builddirreader.h" +#include + namespace Utils { class QtcProcess; } namespace CMakeProjectManager { @@ -66,9 +70,9 @@ private: void processCMakeOutput(); void processCMakeError(); - QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QHash &cache); - bool extractCXXFlagsFromMake(const CMakeBuildTarget &buildTarget, QHash &cache); - bool extractCXXFlagsFromNinja(const CMakeBuildTarget &buildTarget, QHash &cache); + QStringList getFlagsFor(const CMakeBuildTarget &buildTarget, QHash &cache, ProjectExplorer::ToolChain::Language lang); + bool extractFlagsFromMake(const CMakeBuildTarget &buildTarget, QHash &cache, ProjectExplorer::ToolChain::Language lang); + bool extractFlagsFromNinja(const CMakeBuildTarget &buildTarget, QHash &cache, ProjectExplorer::ToolChain::Language lang); Utils::QtcProcess *m_cmakeProcess = nullptr; @@ -85,6 +89,11 @@ private: QList m_files; QSet m_watchedFiles; + // RegExps for function-like macrosses names fixups + QRegularExpression m_macroFixupRe1; + QRegularExpression m_macroFixupRe2; + QRegularExpression m_macroFixupRe3; + friend class CMakeFile; }; -- cgit v1.2.3