diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-02-07 15:00:38 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2017-09-14 15:23:56 +0000 |
commit | b6e12f4a1c2a8dbc7a672f0cf42ea76ece71b10d (patch) | |
tree | 81550e7fce5053ecb1ead60ddf59534d44517a87 /src/plugins/cpptools/cppcodemodelinspectordumper.cpp | |
parent | 3adb71d45ebebd8c8fc2ec6beeb7a5ee67d64e4e (diff) | |
download | qt-creator-b6e12f4a1c2a8dbc7a672f0cf42ea76ece71b10d.tar.gz |
Convert macros from plain QByteArray to a vector of structs
The old code model expected the macros as C++ formatted text
("#define Foo 42) but newer targets like the Clang codemodel expect key
value arguments like "-DFoo=42". So instead of parsing the text again and
again we use an abstract data description.
Task-number: QTCREATORBUG-17915
Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppcodemodelinspectordumper.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcodemodelinspectordumper.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp index 199f185d63..8797a2ba63 100644 --- a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp +++ b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp @@ -31,6 +31,7 @@ #include <app/app_version.h> #include <coreplugin/icore.h> #include <cpptools/cppprojectfile.h> +#include <projectexplorer/projectmacro.h> #include <projectexplorer/project.h> #include <utils/algorithm.h> #include <utils/temporarydirectory.h> @@ -495,15 +496,17 @@ void Dumper::dumpProjectInfos( const QList<ProjectInfo> &projectInfos) } } - if (!part->toolchainDefines.isEmpty()) { + if (!part->toolChainMacros.isEmpty()) { m_out << i3 << "Toolchain Defines:{{{4\n"; - const QList<QByteArray> defineLines = part->toolchainDefines.split('\n'); + const QList<QByteArray> defineLines = + ProjectExplorer::Macro::toByteArray(part->toolChainMacros).split('\n'); foreach (const QByteArray &defineLine, defineLines) m_out << i4 << defineLine << "\n"; } - if (!part->projectDefines.isEmpty()) { + if (!part->projectMacros.isEmpty()) { m_out << i3 << "Project Defines:{{{4\n"; - const QList<QByteArray> defineLines = part->projectDefines.split('\n'); + const QList<QByteArray> defineLines = + ProjectExplorer::Macro::toByteArray(part->projectMacros).split('\n'); foreach (const QByteArray &defineLine, defineLines) m_out << i4 << defineLine << "\n"; } |