public void ConfigureAll(Configuration conf, Target target) { conf.ProjectFileName = "[project.Name]_[target.DevEnv]_[target.Platform]"; conf.ProjectPath = @"[project.SharpmakeCsPath]\projects"; conf.IntermediatePath = @"[project.SharpmakeCsPath]\projects\intermediate\[project.Name]_[target.DevEnv]_[target.Platform]"; conf.AddPrivateDependency <LibProject>(target, DependencySetting.DefaultWithoutBuildSteps); Configuration.BuildStepExecutable tool = new Configuration.BuildStepExecutable(@"[project.SharpmakeCsPath]\projects\output\win64\debug\tool.exe", "", "", "-Flag1 -Flag2 -DoStuff=256"); conf.EventPreBuildExe.Add(tool); }
public override void ConfigureAll(Configuration conf, Target target) { base.ConfigureAll(conf, target); // Create an Executable build step that executes the build output. var execBuildStep = new Configuration.BuildStepExecutable( @"[conf.TargetPath]\[conf.TargetFileName].exe", @"", @"[conf.TargetPath]\postbuild_exec_sentinel.txt", @""); execBuildStep.FastBuildUseStdOutAsOutput = true; conf.EventCustomPostBuildExe.Add(execBuildStep); }
public void ConfigureAll(Configuration conf, Target target) { conf.ProjectFileName = "[project.Name]_[target.DevEnv]_[target.Platform]"; conf.ProjectPath = @"[project.SharpmakeCsPath]\projects"; conf.IntermediatePath = @"[project.SharpmakeCsPath]\projects\intermediate\[project.Name]_[target.DevEnv]_[target.Platform]"; conf.Output = Configuration.OutputType.Lib; conf.IncludePaths.Add(conf.Project.SourceRootPath); // Depend on our 'tool' to be build first conf.AddPrivateDependency <ToolProject>(target, DependencySetting.OnlyBuildOrder); Configuration.BuildStepExecutable tool = new Configuration.BuildStepExecutable(@"[project.SharpmakeCsPath]\projects\output\win64\debug\tool.exe", "", "", "-Flag1 -Flag2 -DoStuff=123"); conf.EventPreBuildExe.Add(tool); }
public override void ConfigureAll(Configuration conf, Target target) { base.ConfigureAll(conf, target); string tempGeneratedPath = @"[project.SharpmakeCsPath]\projects\generated"; string generatedHeaderFile = Path.Combine(tempGeneratedPath, "header_generated_by_prebuild_step.h"); // Create a PreBuild step that creates a header file that is required for compilation var preBuildStep = new Configuration.BuildStepExecutable( @"[project.SourceRootPath]\execute.bat", @"[project.SourceRootPath]\main.cpp", generatedHeaderFile, "echo #define PREBUILD_GENERATED_DEFINE() 0 > " + generatedHeaderFile); conf.EventCustomPrebuildExecute.Add("GenerateHeader", preBuildStep); conf.IncludePrivatePaths.Add(tempGeneratedPath); }
public override void ConfigureAll(Configuration conf, Target target) { base.ConfigureAll(conf, target); string generatedHeaderFilename = "header_generated_by_prebuild_step.h"; string relativeGeneratedHeaderFilePath = Path.Combine("generated", generatedHeaderFilename); string absoluteGeneratedHeaderPath = Path.Combine("[conf.ProjectPath]", "generated"); string absoluteGeneratedHeaderFilePath = Path.Combine(absoluteGeneratedHeaderPath, generatedHeaderFilename); // Create a PreBuild step that creates a header file that is required for compilation var preBuildStep = new Configuration.BuildStepExecutable( @"[project.SourceRootPath]\execute.bat", @"[project.SourceRootPath]\main.cpp", absoluteGeneratedHeaderFilePath, "echo #define PREBUILD_GENERATED_DEFINE() 0 > " + relativeGeneratedHeaderFilePath); conf.EventCustomPrebuildExecute.Add("GenerateHeader", preBuildStep); conf.IncludePrivatePaths.Add(absoluteGeneratedHeaderPath); }