From 3ff3a1920761714f59ca430f78555152309d33ce Mon Sep 17 00:00:00 2001 From: Alexander Drozdov Date: Mon, 16 Jan 2017 13:18:51 +1000 Subject: [PATCH] CMake: fix definition composing in ServerModeReader CMake uses definitions with assign operator notation, so, we should replace first assign operator with space to omit parser damage. Change-Id: I795c4371a1fdd534a42eb01bdcbe852534ce2bcf Reviewed-by: Tobias Hunger --- src/plugins/cmakeprojectmanager/servermodereader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 1b757efd0ce..4612423e26f 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -328,7 +328,13 @@ QSet ServerModeReader::updateCodeModel(CppTools::ProjectPartBuilder &p foreach (const FileGroup *fg, m_fileGroups) { ++counter; const QString defineArg - = transform(fg->defines, [](const QString &s) -> QString { return QString::fromLatin1("#define ") + s; }).join('\n'); + = transform(fg->defines, [](const QString &s) -> QString { + QString result = QString::fromLatin1("#define ") + s; + int assignIndex = result.indexOf('='); + if (assignIndex != -1) + result[assignIndex] = ' '; + return result; + }).join('\n'); const QStringList flags = QtcProcess::splitArgs(fg->compileFlags); const QStringList includes = transform(fg->includePaths, [](const IncludePath *ip) { return ip->path.toString(); });