/// <summary> /// Adds all of the specified include paths to this VCProject's list of include paths for all modules in the project /// </summary> /// <param name="BaseDir">The base directory to which the include paths apply</param> /// <param name="BaseDirToCollection">Map of base directory to include paths</param> /// <param name="NewIncludePaths">List of include paths to add</param> public void AddIntelliSenseIncludePaths(DirectoryReference BaseDir, Dictionary <DirectoryReference, IncludePathsCollection> BaseDirToCollection, IEnumerable <DirectoryReference> NewIncludePaths) { IncludePathsCollection ModuleUserPaths; if (!BaseDirToCollection.TryGetValue(BaseDir, out ModuleUserPaths)) { ModuleUserPaths = new IncludePathsCollection(); BaseDirToCollection.Add(BaseDir, ModuleUserPaths); } AddIntelliSenseIncludePaths(ModuleUserPaths, NewIncludePaths); }
/// <summary> /// Adds all of the specified include paths to this VCProject's list of include paths for all modules in the project /// </summary> /// <param name="Collection">The collection to add to</param> /// <param name="NewIncludePaths">List of include paths to add</param> public void AddIntelliSenseIncludePaths(IncludePathsCollection Collection, IEnumerable <DirectoryReference> NewIncludePaths) { foreach (DirectoryReference CurPath in NewIncludePaths) { if (Collection.AbsolutePaths.Add(CurPath)) { // Incoming include paths are relative to the solution directory, but we need these paths to be // relative to the project file's directory string PathRelativeToProjectFile = NormalizeProjectPath(CurPath); Collection.RelativePaths.Add(PathRelativeToProjectFile); } } }