Files
UnrealEngineUWP/Engine/Source/Programs/UnrealFileServer/UnrealFileServer.Target.cs

62 lines
2.1 KiB
C#
Raw Normal View History

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
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;
}
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;
UEBuildConfiguration.bBuildDeveloperTools = false;
// UnrealHeaderTool is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
}
}