public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); if (HostPlatform == UnrealTargetPlatform.Win64) { if (!GUBP.bForceIncrementalCompile) { Agenda.DotNetProjects.AddRange( new string[] { CombinePaths(@"Engine\Source\Programs\UnrealControls\UnrealControls.csproj"), } ); } Agenda.DotNetSolutions.AddRange( new string[] { CombinePaths(@"Engine\Source\Programs\NetworkProfiler\NetworkProfiler.sln"), } ); if (!GUBP.bForceIncrementalCompile) { Agenda.SwarmProject = CombinePaths(@"Engine\Source\Programs\UnrealSwarm\UnrealSwarm.sln"); } bool WithIOS = !bp.BranchOptions.PlatformsToRemove.Contains(UnrealTargetPlatform.IOS); if ( WithIOS ) { Agenda.IOSDotNetProjects.AddRange( new string[] { CombinePaths(@"Engine\Source\Programs\IOS\iPhonePackager\iPhonePackager.csproj"), CombinePaths(@"Engine\Source\Programs\IOS\DeploymentServer\DeploymentServer.csproj"), CombinePaths(@"Engine\Source\Programs\IOS\MobileDeviceInterface\MobileDeviceInterface.csproj"), CombinePaths(@"Engine\Source\Programs\IOS\DeploymentInterface\DeploymentInterface.csproj"), } ); } } string AddArgs = "-nobuilduht -skipactionhistory -CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); ; foreach (var ProgramTarget in bp.Branch.BaseEngineProject.Properties.Programs) { bool bInternalOnly; bool SeparateNode; bool CrossCompile; if (ProgramTarget.Rules.GUBP_AlwaysBuildWithTools(HostPlatform, GUBP.bBuildRocket, out bInternalOnly, out SeparateNode, out CrossCompile) && ProgramTarget.Rules.SupportsPlatform(HostPlatform) && !bInternalOnly && !SeparateNode) { foreach (var Plat in ProgramTarget.Rules.GUBP_ToolPlatforms(HostPlatform)) { foreach (var Config in ProgramTarget.Rules.GUBP_ToolConfigs(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, Plat, Config, InAddArgs: AddArgs); } } } } return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); string AddArgs = "-nobuilduht" + bp.RocketUBTArgs(); if (bp.bOrthogonalizeEditorPlatforms) { AddArgs += " -skipnonhostplatforms"; } Agenda.AddTargets( new string[] { bp.Branch.BaseEngineProject.Properties.Targets[TargetRules.TargetType.Editor].TargetName }, HostPlatform, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); foreach (var ProgramTarget in bp.Branch.BaseEngineProject.Properties.Programs) { if (ProgramTarget.Rules.GUBP_AlwaysBuildWithBaseEditor() && ProgramTarget.Rules.SupportsPlatform(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, HostPlatform, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); } } return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); string AddArgs = "-nobuilduht" + bp.RocketUBTArgs(); Agenda.AddTargets( new string[] { bp.Branch.BaseEngineProject.Properties.Targets[TargetRules.TargetType.Editor].TargetName }, UnrealTargetPlatform.Linux, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); return Agenda; }
public override void DoTest(GUBP bp) { var Build = new UE4Build(bp); var Agenda = new UE4Build.BuildAgenda(); string AddArgs = "-nobuilduht" + bp.RocketUBTArgs(); if (bp.bOrthogonalizeEditorPlatforms) { AddArgs += " -skipnonhostplatforms"; } Agenda.AddTargets( new string[] { bp.Branch.BaseEngineProject.Properties.Targets[TargetRules.TargetType.Editor].TargetName }, HostPlatform, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); foreach (var ProgramTarget in bp.Branch.BaseEngineProject.Properties.Programs) { if (ProgramTarget.Rules.GUBP_AlwaysBuildWithBaseEditor() && ProgramTarget.Rules.SupportsPlatform(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, HostPlatform, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); } } Build.Build(Agenda, InDeleteBuildProducts: true, InUpdateVersionFiles: false); UE4Build.CheckBuildProducts(Build.BuildProductFiles); SaveRecordOfSuccessAndAddToBuildProducts(); }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); if (HostPlatform == UnrealTargetPlatform.Win64 && !GUBP.bForceIncrementalCompile) { Agenda.DotNetProjects.AddRange( new string[] { @"Engine\Source\Programs\DotNETCommon\DotNETUtilities\DotNETUtilities.csproj", @"Engine\Source\Programs\RPCUtility\RPCUtility.csproj", } ); } string AddArgs = "-CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); Agenda.AddTargets(new string[] { "UnrealHeaderTool" }, HostPlatform, UnrealTargetConfiguration.Development, InAddArgs: AddArgs); return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { if (!bp.ActivePlatforms.Contains(TargetPlatform)) { throw new AutomationException("{0} is not a supported platform for {1}", TargetPlatform.ToString(), GetFullName()); } var Agenda = new UE4Build.BuildAgenda(); string Args = "-nobuilduht -skipactionhistory -CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); if (GUBP.bBuildRocket && (TargetPlatform == UnrealTargetPlatform.Win32 || TargetPlatform == UnrealTargetPlatform.Win64)) { Args += " -nodebuginfo"; } foreach (var Kind in BranchInfo.MonolithicKinds) { if (GUBP.bBuildRocket && Kind != TargetRules.TargetType.Game) { continue; } if (GameProj.Properties.Targets.ContainsKey(Kind)) { var Target = GameProj.Properties.Targets[Kind]; var AllowXp = Target.Rules.GUBP_BuildWindowsXPMonolithics(); if (!WithXp || (AllowXp && WithXp)) { var Platforms = Target.Rules.GUBP_GetPlatforms_MonolithicOnly(HostPlatform); var AdditionalPlatforms = Target.Rules.GUBP_GetBuildOnlyPlatforms_MonolithicOnly(HostPlatform); var AllPlatforms = Platforms.Union(AdditionalPlatforms); if (AllPlatforms.Contains(TargetPlatform) && Target.Rules.SupportsPlatform(TargetPlatform)) { var Configs = Target.Rules.GUBP_GetConfigs_MonolithicOnly(HostPlatform, TargetPlatform); foreach (var Config in Configs) { if (WithXp) { Args += " -winxp"; } if (GUBP.bBuildRocket) { if (HostPlatform == UnrealTargetPlatform.Win64) { if (TargetPlatform == UnrealTargetPlatform.Win32 && Config != UnrealTargetConfiguration.Shipping) { continue; } if (TargetPlatform == UnrealTargetPlatform.Win64 && Config != UnrealTargetConfiguration.Development) { continue; } if (TargetPlatform == UnrealTargetPlatform.Android && Config != UnrealTargetConfiguration.Shipping && Config != UnrealTargetConfiguration.Development) { continue; } if (TargetPlatform == UnrealTargetPlatform.HTML5 && Config != UnrealTargetConfiguration.Shipping && Config != UnrealTargetConfiguration.Development) { continue; } if (TargetPlatform == UnrealTargetPlatform.Linux && Config != UnrealTargetConfiguration.Shipping && Config != UnrealTargetConfiguration.Development) { continue; } } else if (Config != UnrealTargetConfiguration.Shipping && Config != UnrealTargetConfiguration.Development) { continue; } } if (GameProj.GameName == bp.Branch.BaseEngineProject.GameName) { Agenda.AddTargets(new string[] { Target.TargetName }, TargetPlatform, Config, InAddArgs: Args); } else { Agenda.AddTargets(new string[] { Target.TargetName }, TargetPlatform, Config, GameProj.FilePath, InAddArgs: Args); } } } } } } return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); string Args = "-nobuilduht -skipactionhistory -skipnonhostplatforms -CopyAppBundleBackToDevice -forceheadergeneration" + bp.RocketUBTArgs(true); Agenda.AddTargets( new string[] { GameProj.Properties.Targets[TargetRules.TargetType.Editor].TargetName }, HostPlatform, UnrealTargetConfiguration.Development, GameProj.FilePath, InAddArgs: Args); return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); string AddArgs = "-nobuilduht -skipactionhistory -CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); ; foreach (var Plat in ProgramTarget.Rules.GUBP_ToolPlatforms(HostPlatform)) { foreach (var Config in ProgramTarget.Rules.GUBP_ToolConfigs(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, Plat, Config, InAddArgs: AddArgs); } } return Agenda; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { bool bAnyAdded = false; var Agenda = new UE4Build.BuildAgenda(); if (HostPlatform == UnrealTargetPlatform.Win64) { bAnyAdded = true; Agenda.DotNetProjects.AddRange( new string[] { CombinePaths(@"Engine\Source\Programs\Distill\Distill.csproj"), CombinePaths(@"Engine\Source\Programs\NotForLicensees\CrashReportServer\CrashReportCommon\CrashReportCommon.csproj"), CombinePaths(@"Engine\Source\Programs\NotForLicensees\CrashReportServer\CrashReportReceiver\CrashReportReceiver.csproj"), CombinePaths(@"Engine\Source\Programs\NotForLicensees\CrashReportServer\CrashReportProcess\CrashReportProcess.csproj"), CombinePaths(@"Engine\Source\Programs\CrashReporter\RegisterPII\RegisterPII.csproj"), }); Agenda.DotNetSolutions.AddRange( new string[] { CombinePaths(@"Engine\Source\Programs\UnrealDocTool\UnrealDocTool\UnrealDocTool.sln"), } ); Agenda.ExtraDotNetFiles.AddRange( new string[] { "Interop.IWshRuntimeLibrary", "UnrealMarkdown", "CommonUnrealMarkdown", } ); } string AddArgs = "-nobuilduht -skipactionhistory -CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); ; foreach (var ProgramTarget in bp.Branch.BaseEngineProject.Properties.Programs) { bool bInternalOnly; bool SeparateNode; bool CrossCompile; if (ProgramTarget.Rules.GUBP_AlwaysBuildWithTools(HostPlatform, GUBP.bBuildRocket, out bInternalOnly, out SeparateNode, out CrossCompile) && ProgramTarget.Rules.SupportsPlatform(HostPlatform) && bInternalOnly && !SeparateNode) { foreach (var Plat in ProgramTarget.Rules.GUBP_ToolPlatforms(HostPlatform)) { foreach (var Config in ProgramTarget.Rules.GUBP_ToolConfigs(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, Plat, Config, InAddArgs: AddArgs); bAnyAdded = true; } } } } if (bAnyAdded) { return Agenda; } return null; }
public override UE4Build.BuildAgenda GetAgenda(GUBP bp) { var Agenda = new UE4Build.BuildAgenda(); string AddArgs = "-nobuilduht -skipactionhistory -CopyAppBundleBackToDevice" + bp.RocketUBTArgs(); ; foreach (var ProgramTarget in bp.Branch.BaseEngineProject.Properties.Programs) { bool bInternalOnly; bool SeparateNode; bool CrossCompile; if (ProgramTarget.Rules.GUBP_AlwaysBuildWithTools(HostPlatform, GUBP.bBuildRocket, out bInternalOnly, out SeparateNode, out CrossCompile) && ProgramTarget.Rules.SupportsPlatform(HostPlatform) && !bInternalOnly && !SeparateNode && CrossCompile) { foreach (var Config in ProgramTarget.Rules.GUBP_ToolConfigs(HostPlatform)) { Agenda.AddTargets(new string[] { ProgramTarget.TargetName }, UnrealTargetPlatform.Linux, Config, InAddArgs: AddArgs); } } } return Agenda; }