/// <summary> /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package! /// Changes made to the local root package will affect o's Root package!! /// </summary> /// <param name="o"></param> public void AssignFrom(DCompilerConfiguration o) { Vendor = o.Vendor; BinPath = o.BinPath; SourceCompilerCommand = o.SourceCompilerCommand; ArgumentPatterns.CopyFrom(o.ArgumentPatterns); EnableGDCLibPrefixing = o.EnableGDCLibPrefixing; ParseCache.ParsedDirectories.Clear(); if (o.ParseCache.ParsedDirectories != null) { ParseCache.ParsedDirectories.AddRange(o.ParseCache.ParsedDirectories); } ParseCache.Root = o.ParseCache.Root; DefaultLibraries.Clear(); DefaultLibraries.AddRange(o.DefaultLibraries); LinkTargetConfigurations.Clear(); foreach (var kv in o.LinkTargetConfigurations) { var newLt = new LinkTargetConfiguration(); newLt.CopyFrom(kv.Value); LinkTargetConfigurations [kv.Key] = newLt; } }
/// <summary> /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package! /// Changes made to the local root package will affect o's Root package!! /// </summary> /// <param name="o"></param> public void AssignFrom(DCompilerConfiguration o) { Vendor = o.Vendor; BinPath = o.BinPath; SourceCompilerCommand = o.SourceCompilerCommand; ArgumentPatterns.CopyFrom(o.ArgumentPatterns); EnableGDCLibPrefixing = o.EnableGDCLibPrefixing; IncludePaths.Clear(); if (o.IncludePaths != null) { IncludePaths.AddRange(o.IncludePaths); } DefaultLibraries.Clear(); DefaultLibraries.AddRange(o.DefaultLibraries); LinkTargetConfigurations.Clear(); foreach (var kv in o.LinkTargetConfigurations) { var newLt = new LinkTargetConfiguration(); newLt.CopyFrom(kv.Value); LinkTargetConfigurations [kv.Key] = newLt; } FinishedParsing = o.FinishedParsing; HadInitialParse = o.HadInitialParse; }