public Boolean TestWhetherProjectFileBelongs(ProjectFile pf) { // TODO: allow relax if some defines are absent in one of sets if (!CompilerPossiblyRelativePathComparer.Instance.Equals(CompilerInstance.BaseCompiler, pf.CompilerOfFile.BaseCompiler)) { return(false); } if (OwnerSolution.config.RelaxIncludeDirsOrder) { if (!IncludeDirectories.ListIdenticalRelaxOrder(pf.IncludeDirectories)) { return(false); } } else { if (!IncludeDirectories.ListIdentical(pf.IncludeDirectories)) { return(false); } } if (!Defines.SetEquals(pf.SetOfDefines)) { return(false); } if (!ForcedIncludes.SetEquals(pf.ForceIncludes)) { return(false); } return(true); }