project: import compile_commands.json generated by compiledb-generator
This commit is contained in:
parent
3ad6c7ebce
commit
e5db23fff3
|
@ -199,6 +199,17 @@ void ImportProject::importCompileCommands(std::istream &istr)
|
||||||
values[key.substr(1, key.size() - 2U)] = value.substr(1, value.size() - 2U);
|
values[key.substr(1, key.size() - 2U)] = value.substr(1, value.size() - 2U);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (Token::Match(tok, "%str : [ %str%") && tok->str() == "\"arguments\"") {
|
||||||
|
std::string cmd;
|
||||||
|
tok = tok->tokAt(2);
|
||||||
|
while (Token::Match(tok, ",|[ %str%")) {
|
||||||
|
const std::string &s = tok->next()->str();
|
||||||
|
cmd += ' ' + s.substr(1, s.size() - 2);
|
||||||
|
tok = tok->tokAt(2);
|
||||||
|
}
|
||||||
|
values["command"] = cmd.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
else if (tok->str() == "}") {
|
else if (tok->str() == "}") {
|
||||||
if (!values["file"].empty() && !values["command"].empty()) {
|
if (!values["file"].empty() && !values["command"].empty()) {
|
||||||
struct FileSettings fs;
|
struct FileSettings fs;
|
||||||
|
@ -216,6 +227,10 @@ void ImportProject::importCompileCommands(std::istream &istr)
|
||||||
if (pos >= command.size())
|
if (pos >= command.size())
|
||||||
break;
|
break;
|
||||||
const char F = command[pos++];
|
const char F = command[pos++];
|
||||||
|
if (std::strchr("DUI", F)) {
|
||||||
|
while (pos < command.size() && command[pos] == ' ')
|
||||||
|
++pos;
|
||||||
|
}
|
||||||
std::string fval;
|
std::string fval;
|
||||||
while (pos < command.size() && command[pos] != ' ' && command[pos] != '=') {
|
while (pos < command.size() && command[pos] != ' ' && command[pos] != '=') {
|
||||||
if (command[pos] != '\\')
|
if (command[pos] != '\\')
|
||||||
|
|
Loading…
Reference in New Issue