@@ -195,19 +195,20 @@ ImportProject::Type ImportProject::import(const std::string &filename, Settings
195195 if (!mPath .empty () && !endsWith (mPath ,' /' ))
196196 mPath += ' /' ;
197197
198- const std::string fileFilter = settings ? settings->fileFilter : std::string ();
198+ const std::vector<std::string> fileFilters =
199+ settings ? settings->fileFilters : std::vector<std::string>();
199200
200201 if (endsWith (filename, " .json" )) {
201202 importCompileCommands (fin);
202203 setRelativePaths (filename);
203204 return ImportProject::Type::COMPILE_DB;
204205 } else if (endsWith (filename, " .sln" )) {
205- importSln (fin, mPath , fileFilter );
206+ importSln (fin, mPath , fileFilters );
206207 setRelativePaths (filename);
207208 return ImportProject::Type::VS_SLN;
208209 } else if (endsWith (filename, " .vcxproj" )) {
209210 std::map<std::string, std::string, cppcheck::stricmp> variables;
210- importVcxproj (filename, variables, emptyString, fileFilter );
211+ importVcxproj (filename, variables, emptyString, fileFilters );
211212 setRelativePaths (filename);
212213 return ImportProject::Type::VS_VCXPROJ;
213214 } else if (endsWith (filename, " .bpr" )) {
@@ -447,7 +448,7 @@ void ImportProject::importCompileCommands(std::istream &istr)
447448 }
448449}
449450
450- void ImportProject::importSln (std::istream &istr, const std::string &path, const std::string &fileFilter )
451+ void ImportProject::importSln (std::istream &istr, const std::string &path, const std::vector<std:: string> &fileFilters )
451452{
452453 std::map<std::string,std::string,cppcheck::stricmp> variables;
453454 variables[" SolutionDir" ] = path;
@@ -465,7 +466,7 @@ void ImportProject::importSln(std::istream &istr, const std::string &path, const
465466 std::string vcxproj (line.substr (pos1+1 , pos-pos1+7 ));
466467 if (!Path::isAbsolute (vcxproj))
467468 vcxproj = path + vcxproj;
468- importVcxproj (Path::fromNativeSeparators (vcxproj), variables, emptyString, fileFilter );
469+ importVcxproj (Path::fromNativeSeparators (vcxproj), variables, emptyString, fileFilters );
469470 }
470471}
471472
@@ -658,7 +659,7 @@ static void loadVisualStudioProperties(const std::string &props, std::map<std::s
658659 }
659660}
660661
661- void ImportProject::importVcxproj (const std::string &filename, std::map<std::string, std::string, cppcheck::stricmp> &variables, const std::string &additionalIncludeDirectories, const std::string &fileFilter )
662+ void ImportProject::importVcxproj (const std::string &filename, std::map<std::string, std::string, cppcheck::stricmp> &variables, const std::string &additionalIncludeDirectories, const std::vector<std:: string> &fileFilters )
662663{
663664 variables[" ProjectDir" ] = Path::simplifyPath (Path::getPathFromFilename (filename));
664665
@@ -718,7 +719,7 @@ void ImportProject::importVcxproj(const std::string &filename, std::map<std::str
718719
719720 for (const std::string &c : compileList) {
720721 const std::string cfilename = Path::simplifyPath (Path::isAbsolute (c) ? c : Path::getPathFromFilename (filename) + c);
721- if (!fileFilter .empty () && !matchglob (fileFilter , cfilename))
722+ if (!fileFilters .empty () && !matchglobs (fileFilters , cfilename))
722723 continue ;
723724
724725 for (const ProjectConfiguration &p : projectConfigurationList) {
0 commit comments