diff options
author | Alexander Drozdov <[email protected]> | 2016-11-24 13:53:53 +1000 |
---|---|---|
committer | Alexander Drozdov <[email protected]> | 2016-11-25 13:59:20 +0000 |
commit | 651460cd8d87a8c351a6064beed31d61985ad0c8 (patch) | |
tree | 1e6d489811112bac6d49eb4a6c9c48b533e80862 /src/plugins/cmakeprojectmanager/tealeafreader.h | |
parent | b2e4fdee0f590ba8c6f86ef848ce091be75d9151 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/tealeafreader.h')
-rw-r--r-- | src/plugins/cmakeprojectmanager/tealeafreader.h | 15 |
1 files changed, 12 insertions, 3 deletions
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 <projectexplorer/toolchain.h> + #include "builddirreader.h" +#include <QRegularExpression> + namespace Utils { class QtcProcess; } namespace CMakeProjectManager { @@ -66,9 +70,9 @@ private: void processCMakeOutput(); void processCMakeError(); - QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache); - bool extractCXXFlagsFromMake(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache); - bool extractCXXFlagsFromNinja(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache); + QStringList getFlagsFor(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache, ProjectExplorer::ToolChain::Language lang); + bool extractFlagsFromMake(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache, ProjectExplorer::ToolChain::Language lang); + bool extractFlagsFromNinja(const CMakeBuildTarget &buildTarget, QHash<QString, QStringList> &cache, ProjectExplorer::ToolChain::Language lang); Utils::QtcProcess *m_cmakeProcess = nullptr; @@ -85,6 +89,11 @@ private: QList<ProjectExplorer::FileNode *> m_files; QSet<Internal::CMakeFile *> m_watchedFiles; + // RegExps for function-like macrosses names fixups + QRegularExpression m_macroFixupRe1; + QRegularExpression m_macroFixupRe2; + QRegularExpression m_macroFixupRe3; + friend class CMakeFile; }; |