@@ -1325,9 +1325,9 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1325
1325
} else if (strcmp (name, CppcheckXml::BuildDirElementName) == 0 )
1326
1326
temp.buildDir = joinRelativePath (path, empty_if_null (node->GetText ()));
1327
1327
else if (strcmp (name, CppcheckXml::IncludeDirElementName) == 0 )
1328
- temp.includePaths = readXmlStringList (node, path, CppcheckXml::DirElementName, CppcheckXml::DirNameAttrib);
1328
+ temp.includePaths = readXmlStringList (node, path, CppcheckXml::DirElementName, CppcheckXml::DirNameAttrib); // TODO: append instead of overwrite
1329
1329
else if (strcmp (name, CppcheckXml::DefinesElementName) == 0 )
1330
- temp.userDefines = join (readXmlStringList (node, " " , CppcheckXml::DefineName, CppcheckXml::DefineNameAttrib), " ;" );
1330
+ temp.userDefines = join (readXmlStringList (node, " " , CppcheckXml::DefineName, CppcheckXml::DefineNameAttrib), " ;" ); // TODO: append instead of overwrite
1331
1331
else if (strcmp (name, CppcheckXml::UndefinesElementName) == 0 ) {
1332
1332
for (const std::string &u : readXmlStringList (node, " " , CppcheckXml::UndefineName, nullptr ))
1333
1333
temp.userUndefs .insert (u);
@@ -1339,15 +1339,15 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1339
1339
else if (strcmp (name, CppcheckXml::PathsElementName) == 0 )
1340
1340
paths = readXmlStringList (node, path, CppcheckXml::PathName, CppcheckXml::PathNameAttrib);
1341
1341
else if (strcmp (name, CppcheckXml::ExcludeElementName) == 0 )
1342
- guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::ExcludePathName, CppcheckXml::ExcludePathNameAttrib);
1342
+ guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::ExcludePathName, CppcheckXml::ExcludePathNameAttrib); // TODO: append instead of overwrite
1343
1343
else if (strcmp (name, CppcheckXml::FunctionContracts) == 0 )
1344
1344
;
1345
1345
else if (strcmp (name, CppcheckXml::VariableContractsElementName) == 0 )
1346
1346
;
1347
1347
else if (strcmp (name, CppcheckXml::IgnoreElementName) == 0 )
1348
- guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::IgnorePathName, CppcheckXml::IgnorePathNameAttrib);
1348
+ guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::IgnorePathName, CppcheckXml::IgnorePathNameAttrib); // TODO: append instead of overwrite
1349
1349
else if (strcmp (name, CppcheckXml::LibrariesElementName) == 0 )
1350
- guiProject.libraries = readXmlStringList (node, " " , CppcheckXml::LibraryElementName, nullptr );
1350
+ guiProject.libraries = readXmlStringList (node, " " , CppcheckXml::LibraryElementName, nullptr ); // TODO: append instead of overwrite
1351
1351
else if (strcmp (name, CppcheckXml::SuppressionsElementName) == 0 ) {
1352
1352
for (const tinyxml2::XMLElement *child = node->FirstChildElement (); child; child = child->NextSiblingElement ()) {
1353
1353
if (strcmp (child->Name (), CppcheckXml::SuppressionElementName) != 0 )
@@ -1439,13 +1439,14 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1439
1439
return false ;
1440
1440
}
1441
1441
}
1442
- settings.basePaths = temp.basePaths ;
1442
+ settings.basePaths = temp.basePaths ; // TODO: append instead of overwrite
1443
1443
settings.relativePaths |= temp.relativePaths ;
1444
1444
settings.buildDir = temp.buildDir ;
1445
- settings.includePaths = temp.includePaths ;
1446
- settings.userDefines = temp.userDefines ;
1447
- settings.userUndefs = temp.userUndefs ;
1448
- settings.addons = temp.addons ;
1445
+ settings.includePaths = temp.includePaths ; // TODO: append instead of overwrite
1446
+ settings.userDefines = temp.userDefines ; // TODO: append instead of overwrite
1447
+ settings.userUndefs = temp.userUndefs ; // TODO: append instead of overwrite
1448
+ for (const std::string &addon : temp.addons )
1449
+ settings.addons .emplace (addon);
1449
1450
settings.clang = temp.clang ;
1450
1451
settings.clangTidy = temp.clangTidy ;
1451
1452
settings.analyzeAllVsConfigs = temp.analyzeAllVsConfigs ;
0 commit comments