IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var encapsulating = sender.GetEncapsulatingReferencedModule(); var workspace = Bam.Core.Graph.Instance.MetaData as XcodeBuilder.WorkspaceMeta; var target = workspace.EnsureTargetExists(encapsulating); var configuration = target.GetConfiguration(encapsulating); var command = new System.Text.StringBuilder(); // recode the executable path for Xcode var xcodePath = encapsulating.CreateTokenizedString("$(packagebuilddir)/$(config)").Parse(); xcodePath += "/" + System.IO.Path.GetFileName(compiler.Executable.Parse()); command.AppendFormat(xcodePath); // TODO: change this to a configuration directory really command.AppendFormat(" {0}", Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); command.AppendFormat(" {0}", "Generated"); var commands = new Bam.Core.StringArray(); commands.Add(command.ToString()); target.AddPreBuildCommands(commands, configuration); var compilerTarget = workspace.EnsureTargetExists(compiler as Bam.Core.Module); target.Requires(compilerTarget); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var meta = new MakeFileBuilder.MakeFileMeta(sender); var rule = meta.AddRule(); rule.AddTarget(generatedFilePath); var buildTool = (compiler as Bam.Core.Module).MetaData as MakeFileBuilder.MakeFileMeta; rule.AddOrderOnlyDependency(System.String.Format("$({0})", buildTool.Rules[0].FirstTarget.VariableName)); // TODO: change this to a configuration directory really var output_dir = Bam.Core.IOWrapper.EncloseSpaceContainingPathWithDoubleQuotes(Bam.Core.Graph.Instance.BuildRoot); var commandLineArgs = new Bam.Core.StringArray(); commandLineArgs.Add(output_dir); commandLineArgs.Add("Generated"); var command = new System.Text.StringBuilder(); command.AppendFormat("{0} {1} $^", compiler.Executable.ToStringQuoteIfNecessary(), commandLineArgs.ToString(' ')); rule.AddShellCommand(command.ToString()); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var meta = new MakeFileBuilder.MakeFileMeta(sender); var rule = meta.AddRule(); rule.AddTarget(generatedFilePath); var buildTool = (compiler as Bam.Core.Module).MetaData as MakeFileBuilder.MakeFileMeta; rule.AddOrderOnlyDependency(System.String.Format("$({0})", buildTool.Rules[0].Targets[0].VariableName)); var commandLineArgs = new Bam.Core.StringArray(); // TODO: change this to a configuration directory really commandLineArgs.Add(Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); commandLineArgs.Add("Generated"); var command = new System.Text.StringBuilder(); command.AppendFormat("{0} {1} $^", compiler.Executable.ParseAndQuoteIfNecessary(), commandLineArgs.ToString(' ')); rule.AddShellCommand(command.ToString()); }
void IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var encapsulating = sender.GetEncapsulatingReferencedModule(); var workspace = Bam.Core.Graph.Instance.MetaData as XcodeBuilder.WorkspaceMeta; var target = workspace.EnsureTargetExists(encapsulating); var configuration = target.GetConfiguration(encapsulating); var command = new System.Text.StringBuilder(); // recode the executable path for Xcode var xcodePath = encapsulating.CreateTokenizedString("$(packagebuilddir)/$(config)").Parse(); xcodePath += "/" + System.IO.Path.GetFileName(compiler.Executable.Parse()); command.AppendFormat(xcodePath); // TODO: change this to a configuration directory really command.AppendFormat(" {0}", Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); command.AppendFormat(" {0}", "Generated"); var commands = new Bam.Core.StringArray(); commands.Add(command.ToString()); target.AddPreBuildCommands(commands, configuration); var compilerTarget = workspace.EnsureTargetExists(compiler as Bam.Core.Module); target.Requires(compilerTarget); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var encapsulating = sender.GetEncapsulatingReferencedModule(); var solution = Bam.Core.Graph.Instance.MetaData as VSSolutionBuilder.VSSolution; var project = solution.EnsureProjectExists(encapsulating); var config = project.GetConfiguration(encapsulating); // TODO: change this to a configuration directory really var output_dir = Bam.Core.IOWrapper.EncloseSpaceContainingPathWithDoubleQuotes(Bam.Core.Graph.Instance.BuildRoot); var command = new System.Text.StringBuilder(); command.AppendFormat(compiler.Executable.ToStringQuoteIfNecessary()); command.AppendFormat(" {0}", output_dir); command.AppendFormat(" {0}", "Generated"); config.AddPreBuildCommand(command.ToString()); var compilerProject = solution.EnsureProjectExists(compiler as Bam.Core.Module); config.RequiresProject(compilerProject); }
void IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var args = new Bam.Core.StringArray(); // TODO: change this to a configuration directory really args.Add(Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); args.Add("Generated"); CommandLineProcessor.Processor.Execute(context, compiler, args); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var args = new Bam.Core.StringArray(); // TODO: change this to a configuration directory really args.Add(Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); args.Add("Generated"); CommandLineProcessor.Processor.Execute(context, compiler, args); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { // TODO: change this to a configuration directory really var output_dir = Bam.Core.IOWrapper.EncloseSpaceContainingPathWithDoubleQuotes(Bam.Core.Graph.Instance.BuildRoot); var args = new Bam.Core.StringArray(); args.Add(output_dir); args.Add("Generated"); CommandLineProcessor.Processor.Execute(context, compiler, args); }
void IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var encapsulating = sender.GetEncapsulatingReferencedModule(); var solution = Bam.Core.Graph.Instance.MetaData as VSSolutionBuilder.VSSolution; var project = solution.EnsureProjectExists(encapsulating); var config = project.GetConfiguration(encapsulating); var command = new System.Text.StringBuilder(); command.AppendFormat(compiler.Executable.Parse()); // TODO: change this to a configuration directory really command.AppendFormat(" {0}", Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); command.AppendFormat(" {0}", "Generated"); config.AddPreBuildCommand(command.ToString()); var compilerProject = solution.EnsureProjectExists(compiler as Bam.Core.Module); project.RequiresProject(compilerProject); }
void IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var meta = new MakeFileBuilder.MakeFileMeta(sender); var rule = meta.AddRule(); rule.AddTarget(generatedFilePath); var buildTool = (compiler as Bam.Core.Module).MetaData as MakeFileBuilder.MakeFileMeta; rule.AddOrderOnlyDependency(System.String.Format("$({0})", buildTool.Rules[0].Targets[0].VariableName)); var commandLineArgs = new Bam.Core.StringArray(); // TODO: change this to a configuration directory really commandLineArgs.Add(Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); commandLineArgs.Add("Generated"); var command = new System.Text.StringBuilder(); command.AppendFormat("{0} {1} $^", compiler.Executable.ParseAndQuoteIfNecessary(), commandLineArgs.ToString(' ')); rule.AddShellCommand(command.ToString()); }
IGeneratedSourcePolicy.GenerateSource( GeneratedSourceModule sender, Bam.Core.ExecutionContext context, Bam.Core.ICommandLineTool compiler, Bam.Core.TokenizedString generatedFilePath) { var encapsulating = sender.GetEncapsulatingReferencedModule(); var solution = Bam.Core.Graph.Instance.MetaData as VSSolutionBuilder.VSSolution; var project = solution.EnsureProjectExists(encapsulating); var config = project.GetConfiguration(encapsulating); var command = new System.Text.StringBuilder(); command.AppendFormat(compiler.Executable.Parse()); // TODO: change this to a configuration directory really command.AppendFormat(" {0}", Bam.Core.TokenizedString.Create("$(buildroot)", null).Parse()); command.AppendFormat(" {0}", "Generated"); config.AddPreBuildCommand(command.ToString()); var compilerProject = solution.EnsureProjectExists(compiler as Bam.Core.Module); config.RequiresProject(compilerProject); }