StandaloneBSPValidator.GeneratedProject.AddBSPFilesToProject C# (CSharp) Method

AddBSPFilesToProject() public method

public AddBSPFilesToProject ( string>.Dictionary SystemDictionary, string>.Dictionary frameworkConfig, bool>.Dictionary frameworkIDs ) : void
SystemDictionary string>.Dictionary
frameworkConfig string>.Dictionary
frameworkIDs bool>.Dictionary
return void
        public void AddBSPFilesToProject(Dictionary<string, string> SystemDictionary, Dictionary<string,string> frameworkConfig, Dictionary<string, bool> frameworkIDs)
        {
            if (MCU.ExpandedMCU.AdditionalSourceFiles != null && MCU.ExpandedMCU.AdditionalSourceFiles.Length > 0)
            {
                foreach (var fn in MCU.ExpandedMCU.AdditionalSourceFiles)
                {
                    if (MCU.BSP.ShouldSkipFile(fn, SystemDictionary, null, frameworkIDs))
                        continue;

                    var expandedFN = VariableHelper.ExpandVariables(fn, SystemDictionary);
                    try
                    {
                        if (fn.StartsWith("*"))
                            expandedFN = expandedFN.Substring(1);
                        string fullPath = Path.GetFullPath(expandedFN);
                        _SourceFiles.Add(fullPath);
                    }
                    catch { }
                }
            }

            foreach (var fw in _Frameworks)
            {
                var files = fw.AdditionalSourceFiles.Where(fn => !MCU.BSP.ShouldSkipFile(fn, SystemDictionary, frameworkConfig, frameworkIDs)).Select(fn => VariableHelper.ExpandVariables(fn, SystemDictionary, frameworkConfig));
                _SourceFiles.AddRange(files);
            }
        }

Same methods

GeneratedProject::AddBSPFilesToProject ( List pSrcFile, string pDirPrj ) : void

Usage Example

Example #1
0
        private static TestResult TestVendorSample(LoadedBSP.LoadedMCU mcu, BSPEngine.VendorSample vs, string mcuDir, VendorSampleDirectory sampleDir)
        {
            var configuredMCU = new LoadedBSP.ConfiguredMCU(mcu, GetDefaultPropertyValues(mcu.ExpandedMCU.ConfigurableProperties));

            configuredMCU.Configuration["com.sysprogs.toolchainoptions.arm.libnosys"] = "--specs=nosys.specs";
            if (configuredMCU.ExpandedMCU.FLASHSize == 0)
            {
                configuredMCU.Configuration["com.sysprogs.bspoptions.primary_memory"] = "sram";
            }

            var entries = vs.Configuration.MCUConfiguration?.Entries;

            if (entries != null)
            {
                foreach (var e in entries)
                {
                    configuredMCU.Configuration[e.Key] = e.Value;
                }
            }


            var bspDict = configuredMCU.BuildSystemDictionary(SystemDirs);

            bspDict["PROJECTNAME"]     = "test";
            bspDict["SYS:VSAMPLE_DIR"] = sampleDir.Path;
            var prj = new GeneratedProject(configuredMCU, vs, mcuDir, bspDict, vs.Configuration.Frameworks ?? new string[0]);

            var projectCfg = PropertyDictionary2.ReadPropertyDictionary(vs.Configuration.MCUConfiguration);

            var frameworkCfg = PropertyDictionary2.ReadPropertyDictionary(vs.Configuration.Configuration);

            foreach (var k in projectCfg.Keys)
            {
                bspDict[k] = projectCfg[k];
            }
            var frameworkIDs = vs.Configuration.Frameworks?.ToDictionary(fw => fw, fw => true);

            prj.AddBSPFilesToProject(bspDict, frameworkCfg, frameworkIDs);
            var flags = prj.GetToolFlags(bspDict, frameworkCfg, frameworkIDs);

            //ToolFlags flags = new ToolFlags { CXXFLAGS = "  ", COMMONFLAGS = "-mcpu=cortex-m3  -mthumb", LDFLAGS = "-Wl,-gc-sections -Wl,-Map," + "test.map", CFLAGS = "-ffunction-sections -Os -MD" };

            flags.CFLAGS   += " -MD";
            flags.CXXFLAGS += " -MD";

            flags.IncludeDirectories = LoadedBSP.Combine(flags.IncludeDirectories, vs.IncludeDirectories).Distinct().ToArray();
            flags.PreprocessorMacros = LoadedBSP.Combine(flags.PreprocessorMacros, vs.PreprocessorMacros);

            flags = LoadedBSP.ConfiguredMCU.ExpandToolFlags(flags, bspDict, null);

            Dictionary <string, bool> sourceExtensions = new Dictionary <string, bool>(StringComparer.InvariantCultureIgnoreCase);

            sourceExtensions.Add("c", true);
            sourceExtensions.Add("cpp", true);
            sourceExtensions.Add("s", true);

            return(BuildAndRunValidationJob(mcu, mcuDir, false, null, prj, flags, sourceExtensions, null, null, vs));
        }
All Usage Examples Of StandaloneBSPValidator.GeneratedProject::AddBSPFilesToProject