public override void Run(Configuration config, CommandArguments args) { base.Run(config, args); var workDir = Path.Combine(Directory.GetCurrentDirectory(), config.StagingDirectory, Configuration.WebTarget); var buildArgs = string.Join(" ", GetFilesToBuild(workDir)); buildArgs += " -s EXPORTED_FUNCTIONS=[" + string.Join(",", config.Web.ExportedFuncs.Select(s => $"\"_{s}\"")) + "]" + " -s ASSERTIONS=2"; Console.WriteLine($"Start Emscripten build with args: '{buildArgs}'"); ProcessTools.RunProcessAndEnsureSuccess(this, "Emscripten Build", config.Web.EmccPath, buildArgs, workDir); var outputPath = Path.Combine(config.BuildsDirectory, Configuration.WebTarget); Console.WriteLine($"Copy build to '{outputPath}'"); IOTools.CopyDirectory(workDir, outputPath); Console.WriteLine($"Strip sources from '{outputPath}'"); var filesToStrip = new List <string>(); filesToStrip.AddRange(Directory.GetFiles(outputPath, "*.cpp", SearchOption.AllDirectories)); filesToStrip.AddRange(Directory.GetFiles(outputPath, "*.h", SearchOption.AllDirectories)); foreach (var file in filesToStrip) { Console.WriteLine($"Stripping '{file}'"); File.Delete(file); } }
void CopyBuildResult(Configuration config, string target, string configurationName) { var buildDir = Path.Combine(config.Windows.BuildDirectory, configurationName); var outputDir = Path.Combine(config.BuildsDirectory, target); IOTools.CopyDirectory(buildDir, outputDir); }
public void Run(Configuration config, CommandArguments args) { var target = args.GetTarget(this); IOTools.CopyDirectory( Path.Combine(config.FoundationDirectory, target), Path.Combine(config.StagingDirectory, target) ); }
void CommonCopyProjectDirectory(Configuration config, string target) { IOTools.CopyDirectory(config.ProjectDirectory, GetProjectTargetDirectory(config, target)); }