示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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;
        }