@@ -1292,9 +1292,9 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1292
1292
} else if (strcmp (name, CppcheckXml::BuildDirElementName) == 0 )
1293
1293
temp.buildDir = joinRelativePath (path, empty_if_null (node->GetText ()));
1294
1294
else if (strcmp (name, CppcheckXml::IncludeDirElementName) == 0 )
1295
- temp.includePaths = readXmlStringList (node, path, CppcheckXml::DirElementName, CppcheckXml::DirNameAttrib);
1295
+ temp.includePaths = readXmlStringList (node, path, CppcheckXml::DirElementName, CppcheckXml::DirNameAttrib); // TODO: append instead of overwrite
1296
1296
else if (strcmp (name, CppcheckXml::DefinesElementName) == 0 )
1297
- temp.userDefines = join (readXmlStringList (node, " " , CppcheckXml::DefineName, CppcheckXml::DefineNameAttrib), " ;" );
1297
+ temp.userDefines = join (readXmlStringList (node, " " , CppcheckXml::DefineName, CppcheckXml::DefineNameAttrib), " ;" ); // TODO: append instead of overwrite
1298
1298
else if (strcmp (name, CppcheckXml::UndefinesElementName) == 0 ) {
1299
1299
for (const std::string &u : readXmlStringList (node, " " , CppcheckXml::UndefineName, nullptr ))
1300
1300
temp.userUndefs .insert (u);
@@ -1306,15 +1306,15 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1306
1306
else if (strcmp (name, CppcheckXml::PathsElementName) == 0 )
1307
1307
paths = readXmlStringList (node, path, CppcheckXml::PathName, CppcheckXml::PathNameAttrib);
1308
1308
else if (strcmp (name, CppcheckXml::ExcludeElementName) == 0 )
1309
- guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::ExcludePathName, CppcheckXml::ExcludePathNameAttrib);
1309
+ guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::ExcludePathName, CppcheckXml::ExcludePathNameAttrib); // TODO: append instead of overwrite
1310
1310
else if (strcmp (name, CppcheckXml::FunctionContracts) == 0 )
1311
1311
;
1312
1312
else if (strcmp (name, CppcheckXml::VariableContractsElementName) == 0 )
1313
1313
;
1314
1314
else if (strcmp (name, CppcheckXml::IgnoreElementName) == 0 )
1315
- guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::IgnorePathName, CppcheckXml::IgnorePathNameAttrib);
1315
+ guiProject.excludedPaths = readXmlStringList (node, " " , CppcheckXml::IgnorePathName, CppcheckXml::IgnorePathNameAttrib); // TODO: append instead of overwrite
1316
1316
else if (strcmp (name, CppcheckXml::LibrariesElementName) == 0 )
1317
- guiProject.libraries = readXmlStringList (node, " " , CppcheckXml::LibraryElementName, nullptr );
1317
+ guiProject.libraries = readXmlStringList (node, " " , CppcheckXml::LibraryElementName, nullptr ); // TODO: append instead of overwrite
1318
1318
else if (strcmp (name, CppcheckXml::SuppressionsElementName) == 0 ) {
1319
1319
for (const tinyxml2::XMLElement *child = node->FirstChildElement (); child; child = child->NextSiblingElement ()) {
1320
1320
if (strcmp (child->Name (), CppcheckXml::SuppressionElementName) != 0 )
@@ -1406,13 +1406,14 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings &setti
1406
1406
return false ;
1407
1407
}
1408
1408
}
1409
- settings.basePaths = temp.basePaths ;
1409
+ settings.basePaths = temp.basePaths ; // TODO: append instead of overwrite
1410
1410
settings.relativePaths |= temp.relativePaths ;
1411
1411
settings.buildDir = temp.buildDir ;
1412
- settings.includePaths = temp.includePaths ;
1413
- settings.userDefines = temp.userDefines ;
1414
- settings.userUndefs = temp.userUndefs ;
1415
- settings.addons = temp.addons ;
1412
+ settings.includePaths = temp.includePaths ; // TODO: append instead of overwrite
1413
+ settings.userDefines = temp.userDefines ; // TODO: append instead of overwrite
1414
+ settings.userUndefs = temp.userUndefs ; // TODO: append instead of overwrite
1415
+ for (const std::string &addon : temp.addons )
1416
+ settings.addons .emplace (addon);
1416
1417
settings.clang = temp.clang ;
1417
1418
settings.clangTidy = temp.clangTidy ;
1418
1419
settings.analyzeAllVsConfigs = temp.analyzeAllVsConfigs ;
0 commit comments