summaryrefslogtreecommitdiffstats
path: root/src/qdoc/clangcodeparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/clangcodeparser.cpp')
-rw-r--r--src/qdoc/clangcodeparser.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp
index 5bda5296b..add84b9a9 100644
--- a/src/qdoc/clangcodeparser.cpp
+++ b/src/qdoc/clangcodeparser.cpp
@@ -1021,8 +1021,19 @@ void ClangCodeParser::initializeParser(const Config &config)
printParsingErrors_ = 1;
version_ = config.getString(CONFIG_VERSION);
const auto args = config.getStringList(CONFIG_INCLUDEPATHS);
- includePaths_.resize(args.size());
- std::transform(args.begin(), args.end(), includePaths_.begin(),
+ QStringList squeezedArgs;
+ int i = 0;
+ while (i < args.size()) {
+ if (args.at(i) != QLatin1String("-I")) {
+ if (args.at(i).startsWith(QLatin1String("-I")))
+ squeezedArgs << args.at(i);
+ else
+ squeezedArgs << QLatin1String("-I") + args.at(i);
+ }
+ i++;
+ }
+ includePaths_.resize(squeezedArgs.size());
+ std::transform(squeezedArgs.begin(), squeezedArgs.end(), includePaths_.begin(),
[](const QString &s) { return s.toUtf8(); });
CppCodeParser::initializeParser(config);
pchFileDir_.reset(nullptr);