public static string GetCommandArgs(string baseCommandArgs, string filePath, DProject project, DProjectConfiguration conf) { var compiler =project.Compiler; ProjectBuilder.PrjPathMacroProvider prjPath = new ProjectBuilder.PrjPathMacroProvider { slnPath = project.ParentSolution != null ? ProjectBuilder.EnsureCorrectPathSeparators(project.ParentSolution.BaseDirectory) : "" }; List<string> includes = new List<string>(project.IncludePaths); includes.Add(project.BaseDirectory.FullPath); string[] src = {filePath}; var compilerMacro = new UnittestMacros { ObjectsStringPattern = compiler.ArgumentPatterns.ObjectFileLinkPattern, IncludesStringPattern = compiler.ArgumentPatterns.IncludePathPattern, SourceFiles = src, Includes = ProjectBuilder.FillInMacros(includes, prjPath), Libraries = ProjectBuilder.GetLibraries(conf, compiler), HasMain = HasMainMethod(D_Parser.Misc.GlobalParseCache.GetModule(filePath)), compilerFlags = conf.ExtraCompilerArguments, linkerFlags = conf.ExtraLinkerArguments }; return ProjectBuilder.FillInMacros(baseCommandArgs,compilerMacro, prjPath); }
static string GetCommandArgs(string baseCommandArgs, string filePath, DProject project, DProjectConfiguration conf) { var compiler =project.Compiler; ProjectBuilder.PrjPathMacroProvider prjPath = new ProjectBuilder.PrjPathMacroProvider { slnPath = project.ParentSolution != null ? ProjectBuilder.EnsureCorrectPathSeparators(project.ParentSolution.BaseDirectory) : "" }; List<string> includes = new List<string>(project.IncludePaths); includes.Add(project.BaseDirectory.FullPath); string[] src = {filePath}; OneStepBuildArgumentMacroProvider compilerMacro = new OneStepBuildArgumentMacroProvider { ObjectsStringPattern = compiler.ArgumentPatterns.ObjectFileLinkPattern, IncludesStringPattern = compiler.ArgumentPatterns.IncludePathPattern, SourceFiles = src, Includes = ProjectBuilder.FillInMacros(includes, prjPath), Libraries = ProjectBuilder.GetLibraries(conf, compiler), }; return ProjectBuilder.FillInMacros(baseCommandArgs,compilerMacro, prjPath); }