Files
UnrealEngineUWP/Engine/Build/InstalledEngineBuild.xml
Matthew Griffin acbdfe29a6 Copying //UE4/Release-Staging-4.15 to //UE4/Dev-Main (Source: //UE4/Release-4.15 @ 3278667)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3278667 on 2017/01/31 by Chris.Wood

	Added extra context to crash analytics and crash reports in the Editor.
	[UE-41306] - Add context to crash analytics and crash reports (with Editor user activity)

	When a Slate tab becomes active or foregrounded, we take its LayoutIdentity, Label and Content Widget Type and generate a string from all three. This gives context for what the user was doing. The string is set as the UserActivity and passed to MTBF analytics, crash analytics and crash reporter.

	Also added filter to the UserActivity tracking system that defaults to Game mode to preserve previous behavior. Editor now switches it to Editor mode and starts setting the activity in this mode.

	#jira UE-41306

Change 3278637 on 2017/01/30 by Dmitriy.Dyomin

	Fixed: iOS Device displays textures darker than in Editor
	#jira UE-41298

Change 3278566 on 2017/01/30 by Jack.Porter

	Fix #WITH_EDITOR in InstancedStaticMesh.cpp
	#jira UE-41292

Change 3278195 on 2017/01/30 by Alexis.Matte

	Fix the re-import skeletal mesh regression, where all material disapear.
	#jira UE-41294

Change 3278173 on 2017/01/30 by Frank.Fella

	PlatformMediaSource - Don't allow the user to nest platform media sources, and also fail validation on nested platform media sources just in case they are set outside of the cusomization UI.

	#Jira UE-40779

Change 3278156 on 2017/01/30 by Josh.Adams

	- Adding the missed #include line for IsWindowsServer()
	#jira UE-41304

Change 3278088 on 2017/01/30 by Mike.Beach

	Mirroring CL 3249423 from Dev-BP.

	Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).

	#jira OR-34038

Change 3278036 on 2017/01/30 by Mike.Beach

	Mirroring CL 3277671 from Dev-BP.

	Refactoring FBlueprintCompilerCppBackend::SortNodesInUberGraphExecutionGroup() a bit. Catching cases that weren't acounted for - detecting cyclical logic now when we've pulled a node/statement out of order, and other nodes need to fall through to that logic (not relying on a goto).

	#jira UE-41188, UE-41189, UE-41186, UE-41037

Change 3277974 on 2017/01/30 by Josh.Adams

	- Hopeful workaround for COM crash in HandleGameExplorerIntegration function
	#jira UE-41080

Change 3277951 on 2017/01/30 by Ori.Cohen

	Fix access violation in physx.

	#JIRA ODIN-5199

Change 3277773 on 2017/01/30 by Jamie.Dale

	Fixing crash that could occur with null meta-data

	#jira UE-41271

Change 3277549 on 2017/01/30 by Max.Chen

	Sequencer: Back out changelist 3276452 because it breaks other uses of the time snapping interval in the settings.

	#jira UE-41009

Change 3277510 on 2017/01/30 by Jamie.Dale

	Fixed localization sometimes having incorrect keys in cooked builds

	Merged CL# 3276233 and CL# 3277273.

	#jira UE-41271

Change 3277500 on 2017/01/30 by Michael.Trepka

	Added -Wno-undefined-var-template on Mac to work around an issue with compiling UHT in Xcode 8.3

	#jira UE-41225

Change 3277421 on 2017/01/30 by Arciel.Rekman

	TestPAL: delete unused test (UE-36984)

	#jira UE-36984

	(Edigrating CL 3267568 from Dev-Platform to Release-4.15)

Change 3277410 on 2017/01/30 by Jeff.Fisher

	UE-41152 more non-unity include fixes.
	-Matthew Griffin showed me how to run this locally, so I was able to locally reproduce the errors and this fixed them (the previous fixes were insufficient rather than incorrect).
	#jira UE-41152

Change 3277230 on 2017/01/30 by Jack.Porter

	Fixed issue with static lighting for Foliage and Instanced Static Meshes where shadows on instances in LOD levels other than LOD 0 was incorrect.
	#jira UE-39884

Change 3277178 on 2017/01/30 by Allan.Bentham

	enable FORCE_FLOATS with iOS metal shaders when full precision material setting is set.
	#jira UE-41253

Change 3277134 on 2017/01/30 by Matthew.Griffin

	Fixed NonUnity compile issues

Change 3276503 on 2017/01/28 by Jeff.Fisher

	UE-41152 more non-unity include fixes.
	#jira UE-41152

Change 3276452 on 2017/01/28 by Max.Chen

	Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The value used in the sequencer settings is only used to initialize a new level sequence.

	#jira UE-41009

Change 3276130 on 2017/01/27 by Phillip.Kavan

	[UE-40894] Fix data loss issues with non-native Blueprint classes that override inherited component default values from a nativized parent Blueprint class hierarchy.

	- Mirrored from //UE4/Dev-Blueprints (CL# 3276109).

	#jira UE-40894

Change 3276013 on 2017/01/27 by Lina.Halper

	- fix issue with additive pose preview applying twice

	#jira: UE-41216
	#code review:Thomas.Sarkanen

Change 3275990 on 2017/01/27 by Mitchell.Wilson

	Disabling 'Used with skeletal mesh' on some materials to resolve errors and warnings.
	#jira UE-40736

Change 3275885 on 2017/01/27 by Matt.Kuhlenschmidt

	Fixed missing slate style assets log warning

	#jira UE-41148

Change 3275805 on 2017/01/27 by Ori.Cohen

	Fix incorrect warning about moving simulated bodies during tick group. The existing code would warn if you had a kinematic that was SimulationDisabled (i.e. meaning it's not in the sim scene).

	#JIRA UE-37270

Change 3275797 on 2017/01/27 by Shaun.Kime

	In some cases, it was possible to create a SRetainerWidget that does not have a valid scene. This would cause the recorded scene index to be mismatched with the actual rendering index when played back in the future.

	#jira OR-34919

Change 3275681 on 2017/01/27 by Lina.Halper

	Dupe change of CL 3273803, 3274129, 3274700

	#jira: UE-41163
	#code review:Daniel.Wright, Martin.Wilson

Change 3275624 on 2017/01/27 by Benn.Gallagher

	Fixed crash when creating destructible meshes from static meshes with null material interface entries
	#jira UE-38998

Change 3275601 on 2017/01/27 by Matt.Kuhlenschmidt

	Fix crash when a kdop collision generation fails and there are existing collision meshes selected.  We no longer clear out unrelated collision primitives when kdop generation fails.

	#jira UE-41220

Change 3275545 on 2017/01/27 by Chris.Bunner

	Added flag for retreiving debug materials from GetUsedMaterials calls on rendering components.
	#jira UE-40482

Change 3275522 on 2017/01/27 by Max.Chen

	Sequencer: Call modify before setting row indices

	#jira UE-40682

Change 3275518 on 2017/01/27 by Max.Chen

	Sequencer: Switch to static pointer to fix crash when tearing down curve editor.

	#jira UE-41105

Change 3275475 on 2017/01/27 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing non-unity missing includes.
	#jira UE-41152

Change 3275387 on 2017/01/27 by Steve.Robb

	Prevent engine reinstancing on hot reload.
	Copied from CL# 3265490.

	#jira UE-40765

Change 3275279 on 2017/01/27 by Josh.Adams

	- Redoing change 3274305 in 4.15
	#jira UE-40451

Change 3275233 on 2017/01/27 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix share play initialization logic.

	#jira UE-41209

Change 3275227 on 2017/01/27 by Alex.Delesky

	Duplicating the fix for UE-40791 from Dev-Editor CL 3265714 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.

	#jira UE-40791

Change 3275057 on 2017/01/27 by Peter.Sauerbrei

	fix for crash after changing the metal shader version
	#jira ue-41183

Change 3275031 on 2017/01/27 by Matthew.Griffin

	Added architecture hash to path for Linux generated includes, didn't realize that this was part of the path.

Change 3275005 on 2017/01/27 by Matthew.Griffin

	Re-enabled Cache of cooked platform data during DerivedDataCache commandlet
	Moved caching DDC of non-host platform data behind an option so it's not done for Installed Build by default
	Removed other platforms from Launcher Samples and changed 'CookPlatforms' to 'DDCPlatforms' so that its purpose is more clear

Change 3274828 on 2017/01/27 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing non-unity missing include.
	#jira UE-41152

Change 3274799 on 2017/01/27 by Arciel.Rekman

	Fix for installed Linux cross-toolchain (UE-40392).

	- Pull request #3111 contributed by rubu.

	#jira UE-40392

Change 3274756 on 2017/01/27 by Max.Chen

	Sequencer: Update the parent guid with the new possessable guid. This fixes a bug where the parent guid isn't set properly and so folders aren't retained when assign actors and running fix up actor references.

	#jira UE-41010

Change 3274755 on 2017/01/27 by Max.Chen

	Sequencer: Call notify movie scene data changed when creating a camera instead of marking the instances as needing a refresh.

	#jira UE-41019

Change 3274597 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing monolithic include warning.
	#jira UE-41152

Change 3274564 on 2017/01/26 by Mike.Beach

	Following the example of other nodes with external dependencies (like UK2Node_SwitchEnum), and making sure the struct is preloaded before we use it (the struct needs to have a valid size).

	#jira UE-41073

Change 3274535 on 2017/01/26 by Mike.Beach

	Removed ensure that was blocking a wrapper function call to a non-nativized function lib from being generated (while not optimal, the generated code works).

	#jira UE-41190

Change 3274512 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3255506 Copyright update for google
	-note most of the changes went in with the previous 3 androidvr-devvr change integrations, these two were not otherwise changed.
	-just incrementing the year

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273588

Change 3274511 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243495 Adding GoogleVRTransition2D plugin to handle VR->2D->VR transition for daydream app.

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273586

Change 3274510 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243494 Update GoogleVR plugin to v1.2.
	-Upgrade GVR NDK to 1.10.0
	-Add easy to use GoogleVR input component, including controller component for daydream and a gaze based reticle component for cardboard.
	-Make the GoogleVRSplash rendered with depth.
	-Add built in arm model support in GoogleVR controller plugin.
	-Add "Use ExternalFilesDir for UE4Game files" option in AndroidRuntimeSetting to support saving game progress without requesting EXTERNAL_STORAGE permission in Andoird 23+
	-Remove the "Package for Daydream" option in AndroidRuntimeSetting.
	-Fix the crash on iOS9 when GoogleVR plugin is enabled.(udn/325432)

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273585

Change 3274509 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243493 Adding AndroidPermission plugin to handle runtime permission request and check for android api 23 and above.
	-The plugin works for both daydream and normal Android application.
	-For Daydream app, it need to work with GoogleVRTransition2D plugin.

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273583

Change 3274485 on 2017/01/26 by Chris.Babcock

	Fix handling of numbers in textedit (allow decimals)
	#jira UE-41198
	#ue4
	#android

Change 3274457 on 2017/01/26 by Mike.Beach

	Fix to CIS warning (fallout from CL 3274362)

	#jira UE-41072, UE-41071, UE-41070

Change 3274445 on 2017/01/26 by Arciel.Rekman

	Proper fix for deploying to Linux (UE-40023).

	- The logic is: if the base path (local to PC, one we are replacing) *ends* with a separator, add the separator to the dest path (one we're mapping to). Previous fix had a last minute change that inverted it.

	#jira UE-40023

Change 3274428 on 2017/01/26 by Brian.Karis

	Fixed bloom flickering on high contrast HDR edges when r.TemporalAACatmullRom was enabled.

	#jira UE-41138

Change 3274362 on 2017/01/26 by Mike.Beach

	Restructuring how we apply individual (exclusive) Blueprint nativization flags...

	  1. Explicitly flagging Blueprints as dependencies for nativization (and communicating that to the user)
	  2. Now applying nativization flag to authoritative config for all dependencies on save
	  3. Flagging new dependencies (parent or interface) as needing nativization (when required)
	  4. Ignore bDontNativizeDataOnlyBP setting when nativization mode is set to explicit

	#jira UE-41072, UE-41071, UE-41070

Change 3274349 on 2017/01/26 by Yannick.Lange

	VREditor: Fix Laser not hidden on MotionControllers with docked Menu/UI Panels
	#jira UE-40070

Change 3274301 on 2017/01/26 by Chris.Bunner

	Added missing material expression tooltips/keywords for new nodes based on 4.15 preview feeback.
	#jira UE-41193

Change 3274254 on 2017/01/26 by Ryan.Gerleve

	Fix for IsInGameThread() checks that could fail in debug builds while recording a replay with tick.DoAsyncEndOfFrameTasks and demo.ClientRecordAsyncEndOfFrame enabled.

	#jira UE-39911

Change 3274121 on 2017/01/26 by Josh.Adams

	- Fixed build error with landscape gizmo
	#jira UE-41177

Change 3274114 on 2017/01/26 by Dan.Oconnor

	Updating all references before calling post edit - prevents objects from being destroyed or created while updating references
	#jira UE-40121

Change 3273971 on 2017/01/26 by Chris.Bunner

	Update material instance permutations when we have already set param/switch overrides, then only change the base properties.
	#jira UE-39754

Change 3273842 on 2017/01/26 by Daniel.Wright

	Attempt to remove instructions from code features only present in the forward renderer, so we are showing users their graph cost.  Allows shader complexity in forward to sortof match deferred.
	#jira UE-41167

Change 3273750 on 2017/01/26 by Jeff.Fisher

	UE-41137 //UE4/Main: Step 'Compile Ocean (Win32/Win64)' - 2 Errors - SteamVRController.cpp
	-Fixing build break for Ocean.  Maybe they are using an older compiler?
	#jira UE-31137

Change 3273602 on 2017/01/26 by Michael.Trepka

	Fix for UE-41146

	#jira UE-41146

Change 3273506 on 2017/01/26 by Maciej.Mroz

	#jira ODIN-4991,  UE-41035
	merged cl3273497 from Dev-Blueprints branch

	Nativization:
	EX_AddMulticastDelegate - generated code calls TMulticastScriptDelegate::AddUniqe instead of TMulticastScriptDelegate::Add.

Change 3273464 on 2017/01/26 by Mitchell.Wilson

	Resaving asset to resolve warning.
	#jira UE-41008

Change 3273413 on 2017/01/26 by Marc.Audy

	Fix crash when audio device fails to initialize
	#author Andrew.Grant
	#jira UE-41143

Change 3273391 on 2017/01/26 by Jack.Porter

	Fixed ensure encountered when using the Copy/Paste sub-tool in sculpt mode
	#jira UE-40480

Change 3273343 on 2017/01/26 by Matt.Kuhlenschmidt

	Resetting the preview on a material  now properly clears the thumbnail which could have a   stale references that was impossible to fix.

	Fixed on asset exibiting this problem

	#jira UE-40300

Change 3273243 on 2017/01/26 by Jamie.Dale

	Speculative fix for an issue where User Defined Enum display names were being lost on upgrade to 4.15

	#jira UE-41130

Change 3273235 on 2017/01/26 by Graeme.Thornton

	Fix for some memory being left hanging around when loading bulk data asyncronously under certain circumstances

	#jira UE-37815

Change 3273225 on 2017/01/26 by Ben.Cosh

	This fixes an issue with actor details component selection causing actor selection to get out of sync across undo operations
	#Jira UE-40753 - [CrashReport] UE4Editor_LevelEditor!FLevelEditorActionCallbacks::Paste_CanExecute() [leveleditoractions.cpp:1602]
	#Proj Engine

Change 3273224 on 2017/01/26 by Josh.Stoddard

	Increment FDerivedDataPhysXCooker to force recook of PhysX data
	#jira UE-39791#rb none #lockdown james.golding

Change 3273201 on 2017/01/26 by Jack.Porter

	Fixed problem where UpdateInstanceTransform blueprint function was not updating bounds correctly
	#jira UE-41126

Change 3273122 on 2017/01/26 by Graeme.Thornton

	Added some extra log output for situations where a compressed block in an archive doesn't have a valid header

	#jira UE-38767

Change 3273116 on 2017/01/26 by Benn.Gallagher

	Fix for crash generating clothing skinning data due to coplanar check triggering a check() on small triangles
	#jira UE-41112

Change 3273077 on 2017/01/26 by Thomas.Sarkanen

	Allowed LODs other than LOD0 to have screen sizes greater than 1

	#jira UE-41125 - Static mesh LODs other than LOD0 cannot be set to screen sizes greater than 1

Change 3273061 on 2017/01/26 by Matthew.Griffin

	Disabled code caching data for all platforms until we can figure out why it's filling up DDC cache

Change 3272938 on 2017/01/25 by Arciel.Rekman

	Fix launch on a remote Linux machine (UE-38691).

	- Device id is now used to get target platform, so should match it exactly.

	#jira UE-38691

Change 3272816 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272590 on 2017/01/25 by Daniel.Wright

	Workaround for "error X3067: 'GetObjectWorldPosition': ambiguous function call" which happens when FMaterialPixelParameters and FMaterialVertexParameters have the same number of floats with the HLSL compiler.  Function overload resolution appears to identify types based on how many floats / ints / etc they contain.
	#jira UE-41099

Change 3272419 on 2017/01/25 by Arciel.Rekman

	Linux: fix remote deploying of a packaged build (UE-40023).

	#jira UE-40023

Change 3272355 on 2017/01/25 by Daniel.Wright

	Prevent a large shadow depth bias due to low resolution from causing near plane clipping
	#jira UE-40873

Change 3272196 on 2017/01/25 by tim.gautier

	Updating TM-UMG content for UI visibility

	#jira UE-29618

Change 3272114 on 2017/01/25 by Michael.Dupuis

	#jira UE-29817 : backout of CL from Dev-Editor fixing this jira

Change 3271953 on 2017/01/25 by Michael.Trepka

	Attempt to fix UE-40956 - Rare crash occurs in CoreAudio in Vehicle Game on Mac when quitting.

	#jira UE-40956

Change 3271945 on 2017/01/25 by Olaf.Piesche

	Replicating CL 3271564

	#jira UE-40980
	#udn 325525

	Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe.

Change 3271883 on 2017/01/25 by Daniel.Wright

	UWorld::AreAlwaysLoadedLevelsLoaded takes into account bShouldBeVisible.  Fixes reflection captures not getting uploaded when there's an invisible always loaded level, which is supposed to be invisible.
	#jira UE-40724

Change 3271686 on 2017/01/25 by Marc.Audy

	Properly fix line endings in all cases when installing a c++ feature pack
	#jira UE-40939

Change 3271631 on 2017/01/25 by Ryan.Gerleve

	In UEngine::CommitMapChange, rename the new ULevelStreaming objects so that the main world is their outer. This is more correct in general, and will cause those levels to be added to the correct level collection during FlushLevelStreaming.
	Also use MoveTemp to add the streaming level list to the main world, so that the fake world will no longer reference them.

	#jira UE-40524

Change 3271611 on 2017/01/25 by Allan.Bentham

	Ensure texture's buildsettings are not marked as streamable if the target platform does not support streaming.
	#jira UE-40927

Change 3271504 on 2017/01/25 by tim.gautier

	Updated default values of UMG_Behavior

	#jira UE-29618

Change 3271491 on 2017/01/25 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix bug in AT9 audio cooking.
	 - Maximum mono bitrate is 144kbps, but 100% quality mono tracks were selecting 168kbps, causing the AT9 tool to fail.
	 - Also bumped AT9 engine format to recook potentially broken audio data.

	#jira UE-40761

Change 3271428 on 2017/01/25 by Chris.Bunner

	Bug in previous CL.
	#jira UE-39953

Change 3271413 on 2017/01/25 by Lina.Halper

	#DUPEFIX of CL 3270776

	#jira: UE-41082

Change 3271403 on 2017/01/25 by tim.gautier

	Adjusted UMG_Blur intensity settings.

	#jira UE-29618

	# rb cristina.riveron

Change 3271300 on 2017/01/25 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Merge (as edit) fix for NpToolkit2 initialization in 6CPU mode, from //UE4/Dev-Platform to //UE4/Release-4.15 (Original CL 3271215)
	 - Default thread affinity in the InitParams structure is 7 CPUs.
	 - Using this affinity in games with 6CPU mode set in param.sfo causes init() to fail.
	 - We now select 6 or 7 CPU affinity based on what sceKernelGetCpumode reports at runtime.

	#jira UE-41079

Change 3271197 on 2017/01/25 by Andrew.Rodham

	Sequencer: Ensure initial evaluation range correctly sets exclusive lower boundary for subsequent evaluations
	  - This prevents us from erroneously evaluating the initial time twice as part of swept evaluations)

	#jira UE-40758

Change 3270386 on 2017/01/24 by tim.gautier

	Updated UMG_Blur to include second Low-Quality asset

	#jira UE-29618

Change 3270267 on 2017/01/24 by Arciel.Rekman

	Linux: fix not being able to run a packaged build (UE-37016, UE-39648).

	- Fixed expansion of paths with spaces in the bootstrap script.
	- Also increased the timeout since large projects can sometimes get killed on start.
	- Also killed spammy console output.

	#jira UE-37016

Change 3270203 on 2017/01/24 by Chris.Babcock

	Fixed issue with Mac and Linux install and uninstall scripts if ANDROID_HOME not set (contributed by nathansizemore)
	#jira UE-41042
	#PR #3160
	#ue4
	#android

Change 3270037 on 2017/01/24 by tim.gautier

	Checking in UMG_Blur for UMG test coverage

	#jira UE-29618

Change 3269829 on 2017/01/24 by matt.barnes

	Adding content for Material Attribute testing

	#jira UE-29618

Change 3269700 on 2017/01/24 by Josh.Stoddard

	force relink of PhysX libs
	#jira UE-39791 #rb ori.cohen #lockdown james.golding

Change 3269621 on 2017/01/24 by Allan.Bentham

	Make sure 'intrinsic_GetHDR32bppEncodeModeES2()' reports no encoding mode when mobileHDR == false
	#jira UE-41023

Change 3269503 on 2017/01/24 by Josh.Stoddard

	Integrate PhysX change 3268008 from //UE4/Dev-Physics-Upgrade
	#jira UE-39791 #lockdown james.golding #rb josh.stoddard

Change 3269359 on 2017/01/24 by Jack.Porter

	Fix for Web browser widget crash on Android when packaged for Distribution
	#jira UE-39451

Change 3269316 on 2017/01/24 by Thomas.Sarkanen

	Fixed non-unity issues with last change for UE-40945

	#jira UE-40945 - Crash trying to import facial animations

Change 3269047 on 2017/01/23 by Yannick.Lange

	VREditor: Fix VREditor Laser not hidden on MotionControllers with docked Menu/UI Panels
	#jira UE-40070

Change 3268824 on 2017/01/23 by Rolando.Caloca

	UE4.15 - Fix for right eye showing black on VR
	#jira UE-40900

Change 3268752 on 2017/01/23 by Nick.Whiting

	Fix for assertion for binding an MSAA'd scene color with a non-MSAA'd texture.

	#jira UE-39304

Change 3268722 on 2017/01/23 by Olaf.Piesche

	Replicating 3256329

	#jira UE-38615

	Removing unnecessary assert that fires when exporting emitters.

Change 3268220 on 2017/01/23 by Nick.Whiting

	Adding in a new CVar (vr.SteamVR.UsePostPresentHandoff), which defaults to 0.  When set to 0, we do NOT use the SteamVR PostPresentHandoff, which costs some performance GPU time.  When 1, we use the call, and get some extra GPU performance.  However, this call is NOT safe for scenes that have frame-behind GPU work, like SceneCapture components and Widget Components

	#jira UE-40570

Change 3268180 on 2017/01/23 by Marc.Audy

	PendingKill Actors will no longer register their components when the level is being loaded
	#jira UE-40505

Change 3268076 on 2017/01/23 by Matthew.Griffin

	Changed Mac SunTemple cook jobs to use Sample Editor to avoid errors about mismatched files
	#jira UE-40806

Change 3267997 on 2017/01/23 by Mitchell.Wilson

	Increased lightmap size on spheres in volumes example to resolve issue with lighting.
	Corrected misspelling in multiple examples and one UMG asset.
	#jira UE-40890 UE-40926 UE-40882 UE-40928 UE-40825 UE-40819

Change 3267892 on 2017/01/23 by Mitchell.Wilson

	Removed preview mesh on M_Bird_Inst that was referencing a static mesh that was removed or renamed to resolve warnings in CIS.
	#jira UE-40300

Change 3267866 on 2017/01/23 by Thomas.Sarkanen

	Prevented crash when using Facial Animation importer

	Also hid the feature behind an experiemental setting flag, as it is not ready for users yet.

	#jira UE-40945 - Crash trying to import facial animations

Change 3267834 on 2017/01/23 by Nick.Darnell

	An addition to 3255247, this also adds input processing incrementing for double click, and preview mouse down.

	#jira UE-40313

Change 3267785 on 2017/01/23 by Marc.Audy

	Put proper line endings when modifying template files when installing feature pack
	#jira UE-40939

Change 3267761 on 2017/01/23 by Mitchell.Wilson

	Moved left landscape mesh slightly to hide a seam that can be seen when using VR and looking over the railing.
	#jira UE-40916

Change 3267632 on 2017/01/23 by Jurre.deBaare

	Marker syncs not working correctly in Blend Spaces
	#fix Ensure that SampleIndexWithMarkers is serialized
	#JIRA UE-40975

[CL 3287682 by Matthew Griffin in Main branch]
2017-02-06 10:41:38 -05:00

847 lines
62 KiB
XML

<?xml version='1.0' ?>
<BuildGraph xmlns="http://www.epicgames.com/BuildGraph" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.epicgames.com/BuildGraph ../../Engine/Build/Graph/Schema.xsd" >
<!-- Helper option to make installed build for host platform only -->
<Option Name="HostPlatformOnly" Restrict="true|false" DefaultValue="false" Description="A helper option to make an installed build for your host platform only, so that you don't have to disable each platform individually"/>
<!-- Setup default target platforms for Installed build if they haven't been specified on the commandline -->
<Option Name="WithWin64" Restrict="true|false" DefaultValue="true" Description="Include the Win64 target platform"/>
<Option Name="WithWin32" Restrict="true|false" DefaultValue="true" Description="Include the Win32 target platform"/>
<Option Name="WithMac" Restrict="true|false" DefaultValue="true" Description="Include the Mac target platform"/>
<Option Name="WithAndroid" Restrict="true|false" DefaultValue="true" Description="Include the Android target platform"/>
<Option Name="WithIOS" Restrict="true|false" DefaultValue="true" Description="Include the iOS target platform"/>
<Option Name="WithTVOS" Restrict="true|false" DefaultValue="true" Description="Include the tvOS target platform"/>
<Option Name="WithLinux" Restrict="true|false" DefaultValue="true" Description="Include the Linux target platform"/>
<Option Name="WithHTML5" Restrict="true|false" DefaultValue="true" Description="Include the HTML5 target platform"/>
<Option Name="WithPS4" Restrict="true|false" DefaultValue="false" Description="Include the PS4 target platform"/>
<Option Name="WithXboxOne" Restrict="true|false" DefaultValue="false" Description="Include the XboxOne target platform"/>
<Option Name="WithSwitch" Restrict="true|false" DefaultValue="false" Description="Include the Switch target platform"/>
<!-- Whether to create a prebuilt DDC -->
<Option Name="WithDDC" Restrict="true|false" DefaultValue="true" Description="Build a standalone derived-data cache for the engine content and templates" />
<!-- Whether to build DDC for the host platform only -->
<Option Name="HostPlatformDDCOnly" Restrict="true|false" DefaultValue="true" Description="Whether to include DDC for the host platform only"/>
<!-- Whether to sign any executables produced -->
<Option Name="SignExecutables" Restrict="true|false" DefaultValue="false" Description="Sign the executables produced where signing is available"/>
<!-- The analytics type -->
<Option Name="AnalyticsTypeOverride" DefaultValue="" Description="Identifier for analytic events to send"/>
<Option Name="EnableSymStore" Restrict="true|false" DefaultValue="false" Description="Whether to add Source indexing to Windows game apps so they can be added to a symbol server"/>
<Do If="'$(HostPlatformOnly)' == true">
<!-- Activate correct Target Platforms for host -->
<Switch>
<Case If="'$(HostPlatform)' == 'Win64'">
<Property Name="WithWin64" Value="true"/>
<Property Name="WithWin32" Value="true"/>
<Property Name="WithMac" Value="false"/>
<Property Name="WithLinux" Value="false"/>
</Case>
<Case If="'$(HostPlatform)' == 'Mac'">
<Property Name="WithWin64" Value="false"/>
<Property Name="WithWin32" Value="false"/>
<Property Name="WithMac" Value="true"/>
<Property Name="WithLinux" Value="false"/>
</Case>
<Case If="'$(HostPlatform)' == 'Linux'">
<Property Name="WithWin64" Value="false"/>
<Property Name="WithWin32" Value="false"/>
<Property Name="WithMac" Value="false"/>
<Property Name="WithLinux" Value="true"/>
</Case>
<Default>
<Error Message="$(HostPlatform) is not supported for making an installed build"/>
</Default>
</Switch>
<!-- Other Target Platforms always disabled -->
<Property Name="WithAndroid" Value="false"/>
<Property Name="WithIOS" Value="false"/>
<Property Name="WithTVOS" Value="false"/>
<Property Name="WithHTML5" Value="false"/>
<Property Name="WithPS4" Value="false"/>
<Property Name="WithXboxOne" Value="false"/>
<Property Name="WithSwitch" Value="false"/>
</Do>
<!-- The local output directory -->
<Property Name="LocalInstalledDir" Value="$(RootDir)/LocalBuilds/Engine/Windows"/>
<Property Name="LocalInstalledDirMac" Value="$(RootDir)/LocalBuilds/Engine/Mac"/>
<Property Name="LocalInstalledDirLinux" Value="$(RootDir)/LocalBuilds/Engine/Linux"/>
<!-- Directory for storing build products like the Compressed DDC, Stripped and Signed files -->
<Property Name="SavedOutput" Value="$(RootDir)/Saved"/>
<!-- Architectures that we build for Android -->
<Property Name="AndroidArchitectures" Value="armv7+arm64"/>
<Property Name="AndroidGPUArchitectures" Value="es2"/>
<!-- Include the script that lists files and patterns used when creating an installed build -->
<Include Script="InstalledEngineFilters.xml"/>
<!-- Base editor and tools for compile on Windows -->
<Agent Name="Editor Win64" Type="CompileWin64">
<Node Name="Update Version Files">
<Log Message="$(RootDir)"/>
<SetVersion Change="$(Change)" Branch="$(EscapedBranch)" If="$(IsBuildMachine)"/>
</Node>
<Node Name="Compile UnrealHeaderTool Win64" Requires="Update Version Files">
<Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Arguments="-precompile"/>
</Node>
<Node Name="Compile UE4Editor Win64" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Editor Win64;#UE4Editor Win64 Unstripped;#UE4Editor Win64 Stripped;#UE4Editor Win64 Unsigned;#UE4Editor Win64 Signed;#UE4Editor Win64 Includes">
<Compile Target="UE4Editor" Platform="Win64" Configuration="Development" Tag="#UE4Editor Win64" Arguments="-precompile"/>
<Do If="$(EnableSymStore)">
<!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
<Log Message="Embedding source file information into PDB files..."/>
<Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
<SrcSrv BinaryFiles="#UE4Editor Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
</Do>
<Tag Files="#UE4Editor Win64" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions)" With="#UE4Editor Win64 Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win64" Files="#UE4Editor Win64 Unstripped" Tag="#UE4Editor Win64 Stripped"/>
<Do If="'$(SignExecutables)' == true">
<Tag Files="#UE4Editor Win64" Filter="$(WindowsSignFilter)" With="#UE4Editor Win64 Unsigned"/>
<Copy Files="#UE4Editor Win64 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Editor_ToSign_Win64"/>
<Sign Files="#Editor_ToSign_Win64" Tag="#UE4Editor Win64 Signed"/>
</Do>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Win64/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Win64/UE4Editor/Inc/..." With="#UE4Editor Win64 Includes"/>
</Node>
</Agent>
<!-- Base editor and tools for compile on Mac -->
<Agent Name="Editor Mac" Type="CompileMac">
<Node Name="Compile UnrealHeaderTool Mac" Requires="Update Version Files">
<Compile Target="UnrealHeaderTool" Platform="Mac" Configuration="Development" Arguments="-precompile"/>
</Node>
<Node Name="Compile UE4Editor Mac" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Editor Mac;#UE4Editor Mac Unstripped;#UE4Editor Mac Stripped;#UE4Editor Mac Unsigned;#UE4Editor Mac Signed;#UE4Editor Mac Includes">
<Compile Target="UE4Editor" Platform="Mac" Configuration="Development" Tag="#UE4Editor Mac" Arguments="-precompile"/>
<Tag Files="#UE4Editor Mac" Filter="$(MacStripFilter)" With="#UE4Editor Mac Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Mac" Files="#UE4Editor Mac Unstripped" Tag="#UE4Editor Mac Stripped"/>
<Do If="'$(SignExecutables)' == true">
<Tag Files="#UE4Editor Mac" Filter="$(MacSignFilter)" With="#UE4Editor Mac Unsigned"/>
<Copy Files="#UE4Editor Mac Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Editor_ToSign_Mac"/>
<Sign Files="#Editor_ToSign_Mac" Tag="#UE4Editor Mac Signed"/>
</Do>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Mac/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Mac/UE4Editor/Inc/..." With="#UE4Editor Mac Includes"/>
</Node>
</Agent>
<!-- Base editor and tools for compile on Linux -->
<Agent Name="Editor Linux" Type="CompileWin64">
<Node Name="Compile UnrealHeaderTool Linux" Requires="Update Version Files">
<Compile Target="UnrealHeaderTool" Platform="Linux" Configuration="Development" Arguments="-precompile"/>
</Node>
<Node Name="Compile UE4Editor Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Editor Linux;#UE4Editor Linux Unstripped;#UE4Editor Linux Stripped;#UE4Editor Linux Includes">
<Compile Target="UE4Editor" Platform="Linux" Configuration="Development" Tag="#UE4Editor Linux" Arguments="-precompile"/>
<Tag Files="#UE4Editor Linux" Filter="$(LinuxStripFilter)" With="#UE4Editor Linux Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Linux" Files="#UE4Editor Linux Unstripped" Tag="#UE4Editor Linux Stripped"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/..." With="#UE4Editor Linux Includes"/>
</Node>
</Agent>
<!-- Target Platforms normally built from a Win64 machine -->
<Agent Name="Target Platforms Win64" Type="CompileWin64">
<!-- Downstream monolithics and tools Win64 -->
<Node Name="Compile UE4Game Win64" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game Win64;#UE4Game Win64 Unstripped;#UE4Game Win64 Stripped;#UE4Game Win64 Unsigned;#UE4Game Win64 Signed;#UE4Game Win64 Includes">
<Compile Target="UE4Game" Platform="Win64" Configuration="Development" Tag="#UE4Game Win64" Arguments="-precompile -nodebuginfo"/>
<Compile Target="UE4Game" Platform="Win64" Configuration="Shipping" Tag="#UE4Game Win64" Arguments="-precompile -nodebuginfo"/>
<Do If="$(EnableSymStore)">
<!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
<Log Message="Embedding source file information into PDB files..."/>
<Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
<SrcSrv BinaryFiles="#UE4Game Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
</Do>
<Tag Files="#UE4Game Win64" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions)" With="#UE4Game Win64 Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win64" Files="#UE4Game Win64 Unstripped" Tag="#UE4Game Win64 Stripped"/>
<Do If="'$(SignExecutables)' == true">
<Tag Files="#UE4Game Win64" Filter="$(WindowsSignFilter)" With="#UE4Game Win64 Unsigned"/>
<Copy Files="#UE4Game Win64 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Win64"/>
<Sign Files="#Game_ToSign_Win64" Tag="#UE4Game Win64 Signed"/>
</Do>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Win64/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Win64/UE4/Inc/..." With="#UE4Game Win64 Includes"/>
</Node>
<!-- Downstream monolithics and tools Win32 -->
<Node Name="Compile UE4Game Win32" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game Win32;#UE4Game Win32 Unstripped;#UE4Game Win32 Stripped;#UE4Game Win32 Unsigned;#UE4Game Win32 Signed;#UE4Game Win32 Includes">
<Compile Target="UE4Game" Platform="Win32" Configuration="Development" Tag="#UE4Game Win32" Arguments="-precompile -nodebuginfo"/>
<Compile Target="UE4Game" Platform="Win32" Configuration="Shipping" Tag="#UE4Game Win32" Arguments="-precompile -nodebuginfo"/>
<Do If="$(EnableSymStore)">
<!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
<Log Message="Embedding source file information into PDB files..."/>
<Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
<SrcSrv BinaryFiles="#UE4Game Win32" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
</Do>
<Tag Files="#UE4Game Win32" Filter="$(Win32StripFilter)" With="#UE4Game Win32 Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win32" Files="#UE4Game Win32 Unstripped" Tag="#UE4Game Win32 Stripped"/>
<Do If="'$(SignExecutables)' == true">
<Tag Files="#UE4Game Win32" Filter="$(WindowsSignFilter)" With="#UE4Game Win32 Unsigned"/>
<Copy Files="#UE4Game Win32 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Win32"/>
<Sign Files="#Game_ToSign_Win32" Tag="#UE4Game Win32 Signed"/>
</Do>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Win32/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Win32/UE4/Inc/..." With="#UE4Game Win32 Includes"/>
</Node>
<!-- Downstream monolithics and tools Linux -->
<Node Name="Compile UE4Game Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes">
<Compile Target="UE4Game" Platform="Linux" Configuration="Development" Tag="#UE4Game Linux" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="Linux" Configuration="Shipping" Tag="#UE4Game Linux" Arguments="-precompile"/>
<Tag Files="#UE4Game Linux" Filter="$(LinuxStripFilter)" With="#UE4Game Linux Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Linux" Files="#UE4Game Linux Unstripped" Tag="#UE4Game Linux Stripped"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Linux/B4D820EA/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Linux/B4D820EA/UE4/Inc/..." With="#UE4Game Linux Includes"/>
</Node>
<!-- Downstream monolithics and tools Android-->
<Node Name="Compile UE4Game Android" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes">
<Compile Target="UE4Game" Platform="Android" Configuration="Development" Tag="#UE4Game Android" Arguments="-precompile -architectures=$(AndroidArchitectures) -gpuarchitectures=$(AndroidGPUArchitectures)"/>
<Compile Target="UE4Game" Platform="Android" Configuration="Shipping" Tag="#UE4Game Android" Arguments="-precompile -architectures=$(AndroidArchitectures) -gpuarchitectures=$(AndroidGPUArchitectures)"/>
<Tag Files="#UE4Game Android" Filter="$(AndroidStripFilter)" With="#UE4Game Android Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Android" Files="#UE4Game Android Unstripped" Tag="#UE4Game Android Stripped"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Android/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Android/UE4/Inc/..." With="#UE4Game Android Includes"/>
</Node>
<!-- Downstream monolithics and tools HTML5-->
<Node Name="Compile UE4Game HTML5" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game HTML5;#UE4Game HTML5 Includes">
<Compile Target="UE4Game" Platform="HTML5" Configuration="Development" Tag="#UE4Game HTML5" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="HTML5" Configuration="Shipping" Tag="#UE4Game HTML5" Arguments="-precompile"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/HTML5/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/HTML5/UE4/Inc/..." With="#UE4Game HTML5 Includes"/>
</Node>
<!-- Downstream monolithics and tools PS4 -->
<Node Name="Compile UE4Game PS4" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game PS4;#UE4Game PS4 Includes">
<Compile Target="UE4Game" Platform="PS4" Configuration="Development" Tag="#UE4Game PS4" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="PS4" Configuration="Shipping" Tag="#UE4Game PS4" Arguments="-precompile"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/PS4/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/PS4/UE4/Inc/..." With="#UE4Game PS4 Includes"/>
</Node>
<!-- Downstream monolithics and tools XboxOne -->
<Node Name="Compile UE4Game XboxOne" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game XboxOne;#UE4Game XboxOne Includes">
<Compile Target="UE4Game" Platform="XboxOne" Configuration="Development" Tag="#UE4Game XboxOne" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="XboxOne" Configuration="Shipping" Tag="#UE4Game XboxOne" Arguments="-precompile"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/XboxOne/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/XboxOne/UE4/Inc/..." With="#UE4Game XboxOne Includes"/>
</Node>
<!-- Downstream monolithics Switch -->
<Node Name="Compile UE4Game Switch" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game Switch;#UE4Game Switch Includes" If="'$(WithSwitch)' == true">
<Compile Target="UE4Game" Platform="Switch" Configuration="Development" Tag="#UE4Game Switch" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="Switch" Configuration="Shipping" Tag="#UE4Game Switch" Arguments="-precompile"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Switch/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Switch/UE4/Inc/..." With="#UE4Game Switch Includes"/>
</Node>
</Agent>
<!-- Target Platforms normally built from a Mac machine -->
<Agent Name="Target Platforms Mac" Type="CompileMac">
<!-- Downstream monolithics and tools Mac -->
<Node Name="Compile UE4Game Mac" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Game Mac;#UE4Game Mac Unstripped;#UE4Game Mac Stripped;#UE4Game Mac Unsigned;#UE4Game Mac Signed;#UE4Game Mac Includes">
<Compile Target="UE4Game" Platform="Mac" Configuration="Development" Tag="#UE4Game Mac" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="Mac" Configuration="Shipping" Tag="#UE4Game Mac" Arguments="-precompile"/>
<Tag Files="#UE4Game Mac" Filter="$(MacStripFilter)" With="#UE4Game Mac Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Mac" Files="#UE4Game Mac Unstripped" Tag="#UE4Game Mac Stripped"/>
<Do If="'$(SignExecutables)' == true">
<Tag Files="#UE4Game Mac" Filter="$(MacSignFilter)" With="#UE4Game Mac Unsigned"/>
<Copy Files="#UE4Game Mac Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Mac"/>
<Sign Files="#Game_ToSign_Mac" Tag="#UE4Game Mac Signed"/>
</Do>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/Mac/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Mac/UE4/Inc/..." With="#UE4Game Mac Includes"/>
</Node>
<!-- Downstream monolithics and tools IOS-->
<Node Name="Compile UE4Game IOS" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes">
<Compile Target="UE4Game" Platform="IOS" Configuration="Development" Tag="#UE4Game IOS" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="IOS" Configuration="Shipping" Tag="#UE4Game IOS" Arguments="-precompile"/>
<Tag Files="#UE4Game IOS" Filter="$(IOSStripFilter)" With="#UE4Game IOS Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="IOS" Files="#UE4Game IOS Unstripped" Tag="#UE4Game IOS Stripped"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/IOS/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/IOS/UE4/Inc/..." With="#UE4Game IOS Includes"/>
</Node>
<!-- Downstream monolithics and tools TVOS-->
<Node Name="Compile UE4Game TVOS" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes">
<Compile Target="UE4Game" Platform="TVOS" Configuration="Development" Tag="#UE4Game TVOS" Arguments="-precompile"/>
<Compile Target="UE4Game" Platform="TVOS" Configuration="Shipping" Tag="#UE4Game TVOS" Arguments="-precompile"/>
<Tag Files="#UE4Game TVOS" Filter="$(TVOSStripFilter)" With="#UE4Game TVOS Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="TVOS" Files="#UE4Game TVOS Unstripped" Tag="#UE4Game TVOS Stripped"/>
<!-- Tag the generated includes for this target -->
<Tag Files="Engine/Intermediate/Build/TVOS/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/TVOS/UE4/Inc/..." With="#UE4Game TVOS Includes"/>
</Node>
</Agent>
<Agent Name="Tools Group Win64" Type="CompileWin64">
<Node Name="Build Tools Win64" Requires="Compile UnrealHeaderTool Win64">
<Compile Target="CrashReportClient" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="CrashReportClient" Configuration="Shipping" Platform="Win32" Tag="#Build Tools Win64"/>
<Compile Target="UnrealWatchdog" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Win32" Tag="#Build Tools Win64"/>
<Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="UnrealFrontend" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="UnrealLightmass" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="UnrealPak" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="BootstrapPackagedGame" Configuration="Shipping" Platform="Win32" Tag="#Build Tools Win64"/>
<Compile Target="BootstrapPackagedGame" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
<Compile Target="BuildPatchTool" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
<Do If="$(EnableSymStore)">
<!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
<Log Message="Embedding source file information into PDB files..."/>
<Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
<SrcSrv BinaryFiles="#Build Tools Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
</Do>
</Node>
<Node Name="Build Tools CS">
<Do If="'$(HostPlatform)' == 'Win64'">
<CsCompile Project="Engine/Source/Editor/SwarmInterface/DotNET/SwarmInterface.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/UnrealSwarm/SwarmCoordinator/SwarmCoordinator.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/UnrealSwarm/Agent/Agent.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/PS4/PS4DevKitUtil/PS4DevKitUtil.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(WithPS4)' == true"/>
<!-- TODO: Change these projects so that they can be compiled on non-windows platforms (currently use WinForms) -->
<CsCompile Project="Engine/Source/Programs/UnrealControls/UnrealControls.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/iPhonePackager/iPhonePackager.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
</Do>
<CsCompile Project="Engine/Source/Programs/NetworkProfiler/NetworkProfiler/NetworkProfiler.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(HostPlatform)' != 'Linux'"/>
<CsCompile Project="Engine/Source/Programs/IOS/DeploymentServer/DeploymentServer.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/MobileDeviceInterface/MobileDeviceInterface.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/DeploymentInterface/DeploymentInterface.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/HTML5/HTML5LaunchHelper/HTML5LaunchHelper.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
</Node>
<Node Name="Make Feature Packs" Requires="Update Version Files">
<!--Delete any pre-existing feature packs-->
<Delete Files="FeaturePacks/..."/>
<ForEach Name="TemplateName" Values="FP_FirstPerson;FP_FirstPersonBP;TP_2DSideScroller;TP_2DSideScrollerBP;TP_Flying;TP_FlyingBP;TP_Puzzle;TP_PuzzleBP;TP_Rolling;TP_RollingBP;TP_SideScroller;TP_SideScrollerBP;TP_ThirdPerson;TP_ThirdPersonBP;TP_TopDown;TP_TopDownBP;TP_TwinStick;TP_TwinStickBP;TP_Vehicle;TP_VehicleAdv;TP_VehicleAdvBP;TP_VehicleBP;TP_VirtualRealityBP">
<PakFile Output="FeaturePacks/$(TemplateName).upack" Files="" ResponseFile="Templates/$(TemplateName)/contents.txt"/>
</ForEach>
<ForEach Name="SampleName" Values="MobileStarterContent;StarterContent">
<PakFile Output="FeaturePacks/$(SampleName).upack" Files="" ResponseFile="Samples/$(SampleName)/contents.txt"/>
</ForEach>
</Node>
<Node Name="Build Tools Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)">
<Compile Target="CrashReportClient" Platform="Linux" Configuration="Shipping"/>
<Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Linux" Tag="#Build Tools Linux"/>
</Node>
</Agent>
<Agent Name="Tools Group Mac" Type="CompileMac">
<Node Name="Build Tools Mac" Requires="Compile UnrealHeaderTool Mac">
<Compile Target="CrashReportClient" Configuration="Shipping" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UnrealFrontend" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UnrealLightmass" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UnrealPak" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="BuildPatchTool" Configuration="Shipping" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="DsymExporter" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UE4EditorServices" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
<Compile Target="UnrealAtoS" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
</Node>
</Agent>
<Property Name="DDCPlatformsWin64" Value="Windows"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+WindowsNoEditor" If="'$(WithWin64)' == true Or '$(WithWin32)' == true"/>
<Do If="'$(HostPlatformDDCOnly)' == false">
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+Android_ATC" If="'$(WithAndroid)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+IOS" If="'$(WithIOS)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+TVOS" If="'$(WithTVOS)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+LinuxNoEditor" If="'$(WithLinux)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+HTML5" If="'$(WithHTML5)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+PS4" If="'$(WithPS4)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+XboxOne" If="'$(WithXboxOne)' == true"/>
<Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+Switch" If="'$(WithSwitch)' == true"/>
</Do>
<Agent Name="DDC Group Win64" Type="Win64">
<Node Name="Build DDC Win64" Requires="#UE4Editor Win64;Build Tools Win64;Build Tools CS" Produces="#CompressedDDCWin64">
<!-- Get our temp dir -->
<Property Name="DDCDir" Value="$(RootDir)\LocalBuilds\InstalledDDC"/>
<Property Name="SavedDir" Value="$(SavedOutput)\Installed\Win64"/>
<!-- Delete all the old files -->
<Delete Files="$(DDCDir)\..."/>
<!-- Build up a list of files needed to build DDC -->
<CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
<Tag Files="#Compile UnrealHeaderTool Win64;#UE4Editor Win64;#Build Tools Win64;#Build Tools CS" With="#ToCopy"/>
<Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
<Tag Files="Engine\Content\..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
<Tag Files="Engine\Config\..." Except="*.vdf" With="#ToCopy"/>
<Tag Files="Engine\Plugins\....uplugin;Engine\Plugins\...\Config\...;Engine\Plugins\...\Content\...;Engine\Plugins\...\Resources\...;Engine\Plugins\...\Templates\..." Except="Engine\Plugins\Runtime\TwitchLiveStreaming\...;Engine\Plugins\...\Binaries/Mac\..." With="#ToCopy"/>
<Tag Files="Engine\Shaders\..." With="#ToCopy"/>
<Tag Files="Engine\Binaries\DotNET\Ionic.Zip.Reduced.dll" With="#ToCopy"/>
<Tag Files="Engine\Binaries\DotNET\OneSky.dll" With="#ToCopy"/>
<Tag Files="Templates\TemplateResources\..." With="#ToCopy"/>
<!-- Filter out the files not needed to build DDC. Removing confidential folders can affect DDC keys, so we want to be sure that we're making DDC with a build that can use it. -->
<Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
<!-- Additional required files that would be removed by confidential filter -->
<Tag Files="Engine\Build\NotForLicensees\EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine\Build\NotForLicensees\EpicInternal.txt')"/>
<Tag Files="Engine\Binaries\...\*DDCUtils*" With="#FilteredCopyList"/>
<!-- Copy everything to a temporary directory -->
<Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
<Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsWin64) -HostPlatform=Win64 -SavedDir=$(SavedDir)"/>
<Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCWin64"/>
</Node>
</Agent>
<Property Name="DDCPlatformsMac" Value="Mac"/>
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+MacNoEditor" If="'$(WithMac)' == true"/>
<Do If="'$(HostPlatformDDCOnly)' == false">
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+Android_ATC" If="'$(WithAndroid)' == true"/>
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+IOS" If="'$(WithIOS)' == true"/>
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+TVOS" If="'$(WithTVOS)' == true"/>
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+HTML5" If="'$(WithHTML5)' == true"/>
</Do>
<Agent Name="DDC Group Mac" Type="Mac">
<Node Name="Build DDC Mac" Requires="#UE4Editor Mac;Build Tools Mac;Build Tools CS" Produces="#CompressedDDCMac">
<!-- Get our temp dir -->
<Property Name="DDCDir" Value="$(RootDir)/LocalBuilds/InstalledDDC"/>
<Property Name="SavedDir" Value="$(SavedOutput)/Installed/Mac"/>
<!-- Delete all the old files -->
<Delete Files="$(DDCDir)/..."/>
<!-- Build up a list of files needed to build DDC -->
<CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
<Tag Files="#Compile UnrealHeaderTool Mac;#UE4Editor Mac;#Build Tools Mac;#Build Tools CS" With="#ToCopy"/>
<Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
<Tag Files="Engine/Content/..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
<Tag Files="Engine/Config/..." Except="*.vdf" With="#ToCopy"/>
<Tag Files="Engine/Plugins/....uplugin;Engine/Plugins/.../Config/...;Engine/Plugins/.../Content/...;Engine/Plugins/.../Resources/...;Engine/Plugins/.../Templates/..." Except="Engine/Plugins/Runtime/TwitchLiveStreaming/...;Engine/Plugins/.../Binaries/Win64/...;Engine/Plugins/.../Binaries/Win32/..." With="#ToCopy"/>
<Tag Files="Engine/Shaders/..." With="#ToCopy"/>
<Tag Files="Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll" With="#ToCopy"/>
<Tag Files="Engine/Binaries/DotNET/OneSky.dll" With="#ToCopy"/>
<Tag Files="Templates/TemplateResources/..." With="#ToCopy"/>
<!-- Filter out the files not needed to build DDC. Removing confidential folders can affect DDC keys, so we want to be sure that we're making DDC with a build that can use it. -->
<Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
<!-- Additional required files that would be removed by confidential filter -->
<Tag Files="Engine/Build/NotForLicensees/EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine/Build/NotForLicensees/EpicInternal.txt')"/>
<Tag Files="Engine/Binaries/.../*DDCUtils*" With="#FilteredCopyList"/>
<!-- Copy everything to a temporary directory -->
<Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
<Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsMac) -HostPlatform=Mac -SavedDir=$(SavedDir)"/>
<Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCMac"/>
</Node>
</Agent>
<Property Name="DDCPlatformsLinux" Value="Linux"/>
<Property Name="DDCPlatformsLinux" Value="$(DDCPlatformsLinux)+LinuxNoEditor" If="'$(WithLinux)' == true"/>
<Agent Name="DDC Group Linux" Type="Linux">
<Node Name="Build DDC Linux" Requires="#UE4Editor Linux;Build Tools Linux;Build Tools CS" Produces="#CompressedDDCLinux">
<!-- Get our temp dir -->
<Property Name="DDCDir" Value="$(RootDir)/LocalBuilds/InstalledDDC"/>
<Property Name="SavedDir" Value="$(SavedOutput)/Installed/Linux"/>
<!-- Delete all the old files -->
<Delete Files="$(DDCDir)/..."/>
<!-- Build up a list of files needed to build DDC -->
<CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
<Tag Files="#Compile UnrealHeaderTool $(HostPlatform);#UE4Editor Linux;#Build Tools Linux;#Build Tools CS" With="#ToCopy"/>
<Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
<Tag Files="Engine/Content/..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
<Tag Files="Engine/Config/..." Except="*.vdf" With="#ToCopy"/>
<Tag Files="Engine/Plugins/....uplugin;Engine/Plugins/.../Content/...;Engine/Plugins/.../Resources/...;Engine/Plugins/.../Templates/..." Except="Engine/Plugins/Runtime/TwitchLiveStreaming/...;Engine/Plugins/.../Binaries/Win64/...;Engine/Plugins/.../Binaries/Win32/...;Engine/Plugins/.../Binaries/Mac/..." With="#ToCopy"/>
<Tag Files="Engine/Shaders/..." With="#ToCopy"/>
<Tag Files="Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll" With="#ToCopy"/>
<Tag Files="Engine/Binaries/DotNET/OneSky.dll" With="#ToCopy"/>
<Tag Files="Templates/TemplateResources/..." With="#ToCopy"/>
<!-- Filter out the files not needed to build DDC. Removing confidential folders can affect DDC keys, so we want to be sure that we're making DDC with a build that can use it. -->
<Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
<!-- Additional required files that would be removed by confidential filter -->
<Tag Files="Engine/Build/NotForLicensees/EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine/Build/NotForLicensees/EpicInternal.txt')"/>
<Tag Files="Engine/Binaries/.../*DDCUtils*" With="#FilteredCopyList"/>
<!-- Copy everything to a temporary directory -->
<Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
<Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsLinux) -HostPlatform=Linux -SavedDir=$(SavedDir)"/>
<Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCLinux"/>
</Node>
</Agent>
<Agent Name="Installed Build Group Win64" Type="Win64">
<!-- Build up a list of requirements as some can be optional -->
<Property Name="InstalledRequirements" Value="Compile UnrealHeaderTool Win64;#UE4Editor Win64;#UE4Editor Win64 Unstripped;#UE4Editor Win64 Stripped;#UE4Editor Win64 Unsigned;#UE4Editor Win64 Signed;#UE4Editor Win64 Includes;#Build Tools Win64;#Build Tools CS"/>
<!-- Optional Target Platform requirements -->
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Win64;#UE4Game Win64 Unstripped;#UE4Game Win64 Stripped;#UE4Game Win64 Unsigned;#UE4Game Win64 Signed;#UE4Game Win64 Includes" If="'$(WithWin64)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Win32;#UE4Game Win32 Unstripped;#UE4Game Win32 Stripped;#UE4Game Win32 Unsigned;#UE4Game Win32 Signed;#UE4Game Win32 Includes" If="'$(WithWin32)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes" If="'$(WithAndroid)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes" If="'$(WithIOS)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes" If="'$(WithTVOS)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes;#Build Tools Linux" If="'$(WithLinux)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game HTML5;#UE4Game HTML5 Includes" If="'$(WithHTML5)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game PS4;#UE4Game PS4 Includes" If="'$(WithPS4)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game XboxOne;#UE4Game XboxOne Includes" If="'$(WithXboxOne)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Switch;#UE4Game Switch Includes" If="'$(WithSwitch)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#CompressedDDCWin64" If="'$(WithDDC)' == true"/>
<!-- Feature packs -->
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);Make Feature Packs"/>
<!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped, signed or just copied -->
<Node Name="Make Installed Build Win64" Requires="$(InstalledRequirements)" Produces="#Installed Build Win64 Files">
<!-- Clear any existing files from the final location -->
<Delete Files="$(LocalInstalledDir)\..."/>
<!-- Define filter and exception properties for the installed build -->
<Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
<!-- Tag required files from UAT and UBT that will already have been built-->
<Tag Files="Engine/Source/Programs/AutomationTool/..." Filter="*.csproj" With="#UAT Projects"/>
<CsCompile Project="#UAT Projects" Configuration="Development" Platform="AnyCPU" Tag="#Installed Win64;#UAT Win64" TagReferences="#Installed Win64;#UAT Win64" EnumerateOnly="true"/>
<!-- Tag files that always need to be part of an installed build -->
<Tag Files="#Compile UnrealHeaderTool Win64" With="#Installed Win64"/>
<Tag Files="#UE4Editor Win64;#UE4Editor Win64 Includes" Except="#UE4Editor Win64 Unstripped;#UE4Editor Win64 Unsigned" With="#Installed Win64"/>
<Tag Files="#UE4Editor Win64 Stripped;#UE4Editor Win64 Signed" With="#Saved Output"/>
<Tag Files="#Build Tools Win64;#Build Tools CS;#Make Feature Packs" With="#Installed Win64"/>
<!-- Tag enabled target platforms -->
<Do If="'$(WithWin64)' == true">
<Tag Files="#UE4Game Win64;#UE4Game Win64 Includes" Except="#UE4Game Win64 Unstripped;#UE4Game Win64 Unsigned" With="#Installed Win64"/>
<Tag Files="#UE4Game Win64 Stripped;#UE4Game Win64 Signed" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyWin64Filter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyWin64Exceptions)"/>
</Do>
<Do If="'$(WithWin32)' == true">
<Tag Files="#UE4Game Win32;#UE4Game Win32 Includes" Except="#UE4Game Win32 Unstripped;#UE4Game Win32 Unsigned" With="#Installed Win64"/>
<Tag Files="#UE4Game Win32 Stripped;#UE4Game Win32 Signed" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyWin32Filter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyWin32Exceptions)"/>
</Do>
<Do If="'$(WithAndroid)' == true">
<Tag Files="#UE4Game Android;#UE4Game Android Includes" Except="#UE4Game Android Unstripped" With="#Installed Win64"/>
<Tag Files="#UE4Game Android Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyAndroidFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyAndroidExceptions)"/>
</Do>
<Do If="'$(WithIOS)' == true">
<Tag Files="#UE4Game IOS;#UE4Game IOS Includes" Except="#UE4Game IOS Unstripped" With="#Installed Win64"/>
<Tag Files="#UE4Game IOS Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyIOSFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyIOSExceptions)"/>
</Do>
<Do If="'$(WithTVOS)' == true">
<Tag Files="#UE4Game TVOS;#UE4Game TVOS Includes" Except="#UE4Game TVOS Unstripped" With="#Installed Win64"/>
<Tag Files="#UE4Game TVOS Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyTVOSFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyTVOSExceptions)"/>
</Do>
<Do If="'$(WithLinux)' == true">
<Tag Files="#UE4Game Linux;#UE4Game Linux Includes;#Build Tools Linux" Except="#UE4Game Linux Unstripped" With="#Installed Win64"/>
<Tag Files="#UE4Game Linux Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyLinuxFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyLinuxExceptions)"/>
</Do>
<Do If="'$(WithHTML5)' == true">
<Tag Files="#UE4Game HTML5;#UE4Game HTML5 Includes" With="#Installed Win64"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyHTML5Filter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyHTML5Exceptions)"/>
</Do>
<Do If="'$(WithPS4)' == true">
<Tag Files="#UE4Game PS4;#UE4Game PS4 Includes" With="#Installed Win64"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyPS4Filter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyPS4Exceptions)"/>
</Do>
<Do If="'$(WithXboxOne)' == true">
<Tag Files="#UE4Game XboxOne;#UE4Game XboxOne Includes" With="#Installed Win64"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyXboxOneFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyXboxOneExceptions)"/>
</Do>
<Do If="'$(WithSwitch)' == true">
<Tag Files="#UE4Game Switch;#UE4Game Switch Includes" With="#Installed Win64"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopySwitchFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopySwitchExceptions)"/>
</Do>
<!-- Tag any dependencies from all previous build products -->
<Tag Files="#Installed Win64" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Win64"/>
<!-- Confidential Exceptions - done last to ensure they never get overwritten -->
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
<!-- Tag additional files needed for installed build -->
<Tag Files="$(CopyInstalledFilter)" With="#Installed Win64"/>
<!-- Tag Win64 files that need to be stripped -->
<Tag Files="#UAT Win64;#Compile UnrealHeaderTool Win64;#Build Tools Win64;#Build Tools CS" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions);$(CopyInstalledExceptions)" With="#Strip Tools for Installed Win64"/>
<Do If="'$(SignExecutables)' == true">
<!-- Tag files that need to be signed -->
<Tag Files="#UAT Win64;#Compile UnrealHeaderTool Win64;#Build Tools Win64;#Build Tools CS" Filter="$(WindowsSignFilter)" Except="$(CopyInstalledExceptions);.../ThirdParty/..." With="#Sign Tools for Installed Win64"/>
</Do>
<!-- Tag files that need to be copied directly -->
<Tag Files="#Installed Win64" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Win64;#Sign Tools for Installed Win64" With="#Copy for Installed Win64"/>
<Copy Files="#Copy for Installed Win64" From="$(RootDir)" To="$(LocalInstalledDir)" Tag="#Installed Build Win64 Files"/>
<!-- Tag saved output that needs to be copied directly -->
<Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
<Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDir)" Tag="#Installed Build Win64 Files"/>
<!-- Strip required files into their final location -->
<Strip Files="#Strip Tools for Installed Win64" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDir)" Platform="Win64" Tag="#Installed Build Win64 Files"/>
<Do If="'$(SignExecutables)' == true">
<!-- Copy then Sign required files in their final location -->
<Copy Files="#Sign Tools for Installed Win64" From="$(RootDir)" To="$(LocalInstalledDir)" Tag="#Files to Sign"/>
<Sign Files="#Files to Sign" Tag="#Installed Build Win64 Files"/>
</Do>
<!-- Copy the compressed DDC -->
<Property Name="SavedDir" Value="$(SavedOutput)\Installed\Win64"/>
<Copy Files="#CompressedDDCWin64" From="$(SavedDir)" To="$(LocalInstalledDir)" If="'$(WithDDC)' == true" Tag="#Installed Build Win64 Files"/>
<!-- List all of the platforms that we only allow for content projects -->
<Property Name="ContentOnlyPlatforms" Value="Linux"/>
<!-- Create command line arguments for any platforms that were built with additional architectures -->
<Property Name="ArchitectureCommands" Value=""/>
<Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
<!-- Finalize the build and then tag the text file that this process creates -->
<Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=&quot;$(LocalInstalledDir)&quot; -ContentOnlyPlatforms=$(ContentOnlyPlatforms) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
<Tag Files="$(LocalInstalledDir)/Engine/Build/InstalledBuild.txt" With="#Installed Build Win64 Files"/>
</Node>
</Agent>
<Agent Name="Installed Build Group Mac" Type="Mac">
<!-- Build up a list of requirements as some can be optional -->
<Property Name="FilterRequirements" Value="#Compile UnrealHeaderTool Mac;#UE4Editor Mac;#UE4Editor Mac Unstripped;#UE4Editor Mac Stripped;#UE4Editor Mac Unsigned;#UE4Editor Mac Signed;#UE4Editor Mac Includes;#Build Tools Mac;#Build Tools CS"/>
<!-- Optional Target Platform requirements -->
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game Mac;#UE4Game Mac Unstripped;#UE4Game Mac Stripped;#UE4Game Mac Unsigned;#UE4Game Mac Signed;#UE4Game Mac Includes" If="'$(WithMac)' == true"/>
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes" If="'$(WithAndroid)' == true"/>
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes" If="'$(WithIOS)' == true"/>
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes" If="'$(WithTVOS)' == true"/>
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game HTML5;#UE4Game HTML5 Includes" If="'$(WithHTML5)' == true"/>
<Property Name="FilterRequirements" Value="$(FilterRequirements);#CompressedDDCMac" If="'$(WithDDC)' == true"/>
<!-- Feature packs -->
<Property Name="FilterRequirements" Value="$(FilterRequirements);Make Feature Packs"/>
<!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped, signed or just copied-->
<Node Name="Make Installed Build Mac" Requires="$(FilterRequirements)" Produces="#Installed Build Mac Files">
<!-- Clear any existing files from the final location -->
<Delete Files="$(LocalInstalledDirMac)/..."/>
<!-- Define filter and exception properties for the installed build -->
<Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
<!-- Tag required files from UAT and UBT that will already have been built-->
<Tag Files="Engine/Source/Programs/AutomationTool/..." Filter="*.csproj" With="#UAT Projects"/>
<CsCompile Project="#UAT Projects" Configuration="Development" Platform="AnyCPU" Tag="#Installed Mac" TagReferences="#Installed Mac" EnumerateOnly="true"/>
<!-- Tag files that always need to be part of an installed build -->
<Tag Files="#Compile UnrealHeaderTool Mac" With="#Installed Mac"/>
<Tag Files="#UE4Editor Mac;#UE4Editor Mac Includes" Except="#UE4Editor Mac Unstripped;#UE4Editor Mac Unsigned" With="#Installed Mac"/>
<Tag Files="#UE4Editor Mac Stripped;#UE4Editor Mac Signed" With="#Saved Output"/>
<Tag Files="#Build Tools Mac;#Build Tools CS;#Make Feature Packs" With="#Installed Mac"/>
<!-- Tag enabled target platforms -->
<Do If="'$(WithMac)' == true">
<Tag Files="#UE4Game Mac;#UE4Game Mac Includes" Except="#UE4Game Mac Unstripped;#UE4Game Mac Unsigned" With="#Installed Mac"/>
<Tag Files="#UE4Game Mac Stripped;#UE4Game Mac Signed" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyMacFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyMacExceptions)"/>
</Do>
<Do If="'$(WithAndroid)' == true">
<Tag Files="#UE4Game Android;#UE4Game Android Includes" Except="#UE4Game Android Unstripped" With="#Installed Mac"/>
<Tag Files="#UE4Game Android Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyAndroidFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyAndroidExceptions)"/>
</Do>
<Do If="'$(WithIOS)' == true">
<Tag Files="#UE4Game IOS;#UE4Game IOS Includes" Except="#UE4Game IOS Unstripped" With="#Installed Mac"/>
<Tag Files="#UE4Game IOS Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyIOSFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyIOSExceptions)"/>
</Do>
<Do If="'$(WithTVOS)' == true">
<Tag Files="#UE4Game TVOS;#UE4Game TVOS Includes" Except="#UE4Game TVOS Unstripped" With="#Installed Mac"/>
<Tag Files="#UE4Game TVOS Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyTVOSFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyTVOSExceptions)"/>
</Do>
<Do If="'$(WithHTML5)' == true">
<Tag Files="#UE4Game HTML5;#UE4Game HTML5 Includes" With="#Installed Mac"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyHTML5Filter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyHTML5Exceptions)"/>
</Do>
<!-- Tag any dependencies from all previous build products -->
<Tag Files="#Installed Mac" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Mac"/>
<!-- Confidential Exceptions - done last to ensure they never get overwritten -->
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
<!-- Tag additional files needed for editor and platforms -->
<Tag Files="$(CopyInstalledFilter)" With="#Installed Mac"/>
<!-- Tag Mac files that need to be stripped -->
<Tag Files="#Compile UnrealHeaderTool Mac;#Build Tools Mac" Filter="$(MacStripFilter)" Except="$(CopyInstalledExceptions)" With="#Strip Tools for Installed Mac"/>
<Do If="'$(SignExecutables)' == true">
<!-- Tag files that need to be signed -->
<Tag Files="#Compile UnrealHeaderTool Mac;#Build Tools Mac" Filter="$(MacSignFilter)" Except="$(CopyInstalledExceptions);.../ThirdParty/..." With="#Sign Tools for Installed Mac"/>
</Do>
<!-- Tag files that need to be copied directly -->
<Tag Files="#Installed Mac" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Mac;#Sign Tools for Installed Mac" With="#Copy for Installed Mac"/>
<Copy Files="#Copy for Installed Mac" From="$(RootDir)" To="$(LocalInstalledDirMac)" Tag="#Installed Build Mac Files"/>
<!-- Tag saved output that needs to be copied directly -->
<Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
<Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDirMac)" Tag="#Installed Build Mac Files"/>
<!-- Strip required files into their final location -->
<Strip Files="#Strip Tools for Installed Mac" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDirMac)" Platform="Mac" Tag="#Installed Build Mac Files"/>
<Do If="'$(SignExecutables)' == true">
<!-- Copy then Sign required files in their final location -->
<Copy Files="#Sign Tools for Installed Mac" From="$(RootDir)" To="$(LocalInstalledDirMac)" Tag="#Files to Sign"/>
<Sign Files="#Files to Sign" Tag="#Installed Build Mac Files"/>
</Do>
<!-- Copy the compressed DDC -->
<Property Name="SavedDir" Value="$(SavedOutput)/Installed/Mac"/>
<Copy Files="#CompressedDDCMac" From="$(SavedDir)" To="$(LocalInstalledDirMac)" If="'$(WithDDC)' == true" Tag="#Installed Build Mac Files"/>
<!-- Create command line arguments for any platforms that were built with additional architectures -->
<Property Name="ArchitectureCommands" Value=""/>
<Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
<!-- Finalize the build and then tag the text file that this process creates -->
<Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=$(LocalInstalledDirMac) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
<Tag Files="$(LocalInstalledDirMac)/Engine/Build/InstalledBuild.txt" With="#Installed Build Mac Files"/>
</Node>
</Agent>
<Agent Name="Installed Build Group Linux" Type="Win64">
<!-- Build up a list of requirements as some can be optional -->
<Property Name="InstalledRequirements" Value="#Compile UnrealHeaderTool Linux;#UE4Editor Linux;#UE4Editor Linux Unstripped;#UE4Editor Linux Stripped;#UE4Editor Linux Includes;#Build Tools Linux;#Build Tools CS"/>
<!-- Optional Target Platform requirements -->
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes" If="'$(WithLinux)' == true"/>
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#CompressedDDCLinux" If="'$(WithDDC)' == true"/>
<!-- Feature packs -->
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);Make Feature Packs"/>
<!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped or just copied -->
<Node Name="Make Installed Build Linux" Requires="$(InstalledRequirements)" Produces="#Installed Build Linux Files">
<!-- Clear any existing files from the final location -->
<Delete Files="$(LocalInstalledDirLinux)\..."/>
<!-- Define filter and exception properties for the installed build -->
<Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
<!-- Tag required files from UAT and UBT that will already have been built-->
<Tag Files="Engine/Source/Programs/AutomationTool/..." Filter="*.csproj" With="#UAT Projects"/>
<CsCompile Project="#UAT Projects" Configuration="Development" Platform="AnyCPU" Tag="#Installed Linux" TagReferences="#Installed Linux" EnumerateOnly="true"/>
<!-- Tag files that always need to be part of an installed build -->
<Tag Files="#Compile UnrealHeaderTool Linux" With="#Installed Linux"/>
<Tag Files="#UE4Editor Linux;#UE4Editor Linux Includes" Except="#UE4Editor Linux Unstripped" With="#Installed Linux"/>
<Tag Files="#UE4Editor Linux Stripped" With="#Saved Output"/>
<Tag Files="#Build Tools Linux;#Build Tools CS;#Make Feature Packs" With="#Installed Linux"/>
<!-- Tag enabled target platforms -->
<Do If="'$(WithLinux)' == true">
<Tag Files="#UE4Game Linux;#UE4Game Linux Includes;#Build Tools Linux" Except="#UE4Game Linux Unstripped" With="#Installed Linux"/>
<Tag Files="#UE4Game Linux Stripped" With="#Saved Output"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyLinuxFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyLinuxExceptions)"/>
</Do>
<!-- Tag any dependencies from all previous build products -->
<Tag Files="#Installed Linux" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Linux"/>
<!-- Confidential Exceptions - done last to ensure they never get overwritten -->
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
<!-- Tag additional files needed for installed build -->
<Tag Files="$(CopyInstalledFilter)" With="#Installed Linux"/>
<!-- Tag Linux files that need to be stripped -->
<Tag Files="#Compile UnrealHeaderTool Linux;#Build Tools Linux;#Build Tools CS" Filter="$(LinuxStripFilter)" Except="$(CopyInstalledExceptions)" With="#Strip Tools for Installed Linux"/>
<!-- Tag files that need to be copied directly -->
<Tag Files="#Installed Linux" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Linux" With="#Copy for Installed Linux"/>
<Copy Files="#Copy for Installed Linux" From="$(RootDir)" To="$(LocalInstalledDirLinux)" Tag="#Installed Build Linux Files"/>
<!-- Tag saved output that needs to be copied directly -->
<Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
<Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDirLinux)" Tag="#Installed Build Linux Files"/>
<!-- Strip required files into their final location -->
<Strip Files="#Strip Tools for Installed Linux" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDirLinux)" Platform="Linux" Tag="#Installed Build Linux Files"/>
<!-- Copy the compressed DDC -->
<Property Name="SavedDir" Value="$(SavedOutput)\Installed\Linux"/>
<Copy Files="#CompressedDDCLinux" From="$(SavedDir)" To="$(LocalInstalledDirLinux)" If="'$(WithDDC)' == true" Tag="#Installed Build Linux Files"/>
<!-- List all of the platforms that we only allow for content projects -->
<Property Name="ContentOnlyPlatforms" Value=""/>
<!-- Create command line arguments for any platforms that were built with additional architectures -->
<Property Name="ArchitectureCommands" Value=""/>
<Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
<!-- Finalize the build and then tag the text file that this process creates -->
<Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=$(LocalInstalledDirLinux) -ContentOnlyPlatforms=$(ContentOnlyPlatforms) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
<Tag Files="$(LocalInstalledDirLinux)/Engine/Build/InstalledBuild.txt" With="#Installed Build Linux Files"/>
</Node>
</Agent>
</BuildGraph>