2016-01-07 08:17:16 -05:00
|
|
|
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
|
|
using UnrealBuildTool;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
public class UnrealFileServerTarget : TargetRules
|
|
|
|
|
|
{
|
|
|
|
|
|
public UnrealFileServerTarget(TargetInfo Target)
|
|
|
|
|
|
{
|
|
|
|
|
|
Type = TargetType.Program;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// TargetRules interface.
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
public override void SetupBinaries(
|
|
|
|
|
|
TargetInfo Target,
|
|
|
|
|
|
ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
|
|
|
|
|
|
ref List<string> OutExtraModuleNames
|
|
|
|
|
|
)
|
|
|
|
|
|
{
|
|
|
|
|
|
OutBuildBinaryConfigurations.Add(
|
|
|
|
|
|
new UEBuildBinaryConfiguration( InType: UEBuildBinaryType.Executable,
|
|
|
|
|
|
InModuleNames: new List<string>() { "UnrealFileServer" } )
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override bool ShouldCompileMonolithic(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration)
|
|
|
|
|
|
{
|
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2857832 on 2016/02/05 by Ben.Marsh
GitHub #1959 - Prevent UELinkerFixups file from using shared PCHs; it doesn't necessarily have the right compile environment to be able to use them.
Change 2858189 on 2016/02/06 by Ben.Marsh
Allow runtime dependencies to be optional, so we can allow games to be staged without requiring PhysX/Apex PDBs.
Change 2858968 on 2016/02/08 by Ben.Marsh
Allow plugins to be enabled/disabled depending on different target types. Contributed by Ben Everett/Hi-Rez Studios.
Change 2859325 on 2016/02/08 by Ben.Marsh
Stop adding a debug output device if it goes to the same place as the regular log output device. Prevent output messages printing to the log twice on Mac.
#codereview Michael.Trepka
Change 2859995 on 2016/02/09 by Matthew.Griffin
Changed UnrealFileServer to be non-monolithic so that it doesn't include code that is not public
Change 2860393 on 2016/02/09 by Ben.Marsh
Add support for pre and post build steps for projects and plugin files. Steps are specified as a list of shell commands per-target platform, and are written to a shell script by UBT. Whenever the target is built, the pre-build steps are executed before UHT, and post-build steps are executed at the end.
The following target properties are expanded with UBT properties in the commands: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile), $(PluginDir).
Example JSON fragment:
"PreBuildSteps": {
"Win64": [
"echo EngineDir=$(EngineDir)",
"echo ProjectDir=$(ProjectDir)",
"echo TargetName=$(TargetName)",
"echo TargetPlatform=$(TargetPlatform)",
"echo TargetConfiguration=$(TargetConfiguration)",
"echo TargetType=$(TargetType)",
"echo ProjectFile=$(ProjectFile)",
"echo PluginDir=$(PluginDir)"
]
},
Change 2860504 on 2016/02/09 by Ben.Marsh
Remove nodes from the grid view that we don't have any data for.
Change 2860592 on 2016/02/09 by Ben.Marsh
Add script to copy all UAT/UBT build products to another directory. To be used to avoid compiling multiple times on build system.
Change 2861087 on 2016/02/09 by Ben.Marsh
Allow UAT binaries compiled on the initial agent to be copied to all other agents in a build. Saves a lot of startup time on Mac, in particular.
Change 2861788 on 2016/02/10 by Ben.Marsh
Fix warnings and mangled notification email if triggers finish before all their jobsteps have been created.
#lockdown Nick.Penwarden
[CL 2863732 by Ben Marsh in Main branch]
2016-02-11 15:36:17 -05:00
|
|
|
|
// Don't build monolithic because it could depend on modules that are not public
|
|
|
|
|
|
return false;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void SetupGlobalEnvironment(
|
|
|
|
|
|
TargetInfo Target,
|
|
|
|
|
|
ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
|
|
|
|
|
|
ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
|
|
|
|
|
|
)
|
|
|
|
|
|
{
|
|
|
|
|
|
// Lean and mean
|
|
|
|
|
|
UEBuildConfiguration.bCompileLeanAndMeanUE = true;
|
|
|
|
|
|
|
|
|
|
|
|
// Never use malloc profiling in Unreal Header Tool. We set this because often UHT is compiled right before the engine
|
|
|
|
|
|
// automatically by Unreal Build Tool, but if bUseMallocProfiler is defined, UHT can operate incorrectly.
|
|
|
|
|
|
BuildConfiguration.bUseMallocProfiler = false;
|
|
|
|
|
|
|
|
|
|
|
|
// No editor needed
|
|
|
|
|
|
UEBuildConfiguration.bBuildEditor = false;
|
|
|
|
|
|
// Editor-only data, however, is needed
|
|
|
|
|
|
UEBuildConfiguration.bBuildWithEditorOnlyData = true;
|
|
|
|
|
|
|
|
|
|
|
|
// Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
|
|
|
|
|
|
UEBuildConfiguration.bCompileAgainstEngine = false;
|
|
|
|
|
|
UEBuildConfiguration.bCompileAgainstCoreUObject = false;
|
2014-09-08 11:51:08 -04:00
|
|
|
|
UEBuildConfiguration.bBuildDeveloperTools = false;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
|
|
// UnrealHeaderTool is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
|
|
|
|
|
|
OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|