Advertisement
Guest User

InstalledEngineBuild.xml

a guest
Dec 19th, 2017
1,514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 64.77 KB | None | 0 0
  1. <?xml version='1.0' ?>
  2. <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" >
  3.  
  4.     <!-- Helper option to make installed build for host platform only -->
  5.     <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"/>
  6.    
  7.     <!-- Setup default target platforms for Installed build if they haven't been specified on the commandline -->
  8.     <Option Name="WithWin64" Restrict="true|false" DefaultValue="true" Description="Include the Win64 target platform"/>
  9.     <Option Name="WithWin32" Restrict="true|false" DefaultValue="true" Description="Include the Win32 target platform"/>
  10.     <Option Name="WithMac" Restrict="true|false" DefaultValue="true" Description="Include the Mac target platform"/>
  11.     <Option Name="WithAndroid" Restrict="true|false" DefaultValue="true" Description="Include the Android target platform"/>
  12.     <Option Name="WithIOS" Restrict="true|false" DefaultValue="true" Description="Include the iOS target platform"/>
  13.     <Option Name="WithTVOS" Restrict="true|false" DefaultValue="true" Description="Include the tvOS target platform"/>
  14.     <Option Name="WithLinux" Restrict="true|false" DefaultValue="true" Description="Include the Linux target platform"/>
  15.     <Option Name="WithHTML5" Restrict="true|false" DefaultValue="true" Description="Include the HTML5 target platform"/>
  16.     <Option Name="WithPS4" Restrict="true|false" DefaultValue="false" Description="Include the PS4 target platform"/>
  17.     <Option Name="WithXboxOne" Restrict="true|false" DefaultValue="false" Description="Include the XboxOne target platform"/>
  18.     <Option Name="WithSwitch" Restrict="true|false" DefaultValue="false" Description="Include the Switch target platform"/>
  19.  
  20.     <!-- Whether to create a prebuilt DDC -->
  21.     <Option Name="WithDDC" Restrict="true|false" DefaultValue="true" Description="Build a standalone derived-data cache for the engine content and templates" />
  22.  
  23.     <!-- Whether to build DDC for the host platform only -->
  24.     <Option Name="HostPlatformDDCOnly" Restrict="true|false" DefaultValue="true" Description="Whether to include DDC for the host platform only"/>
  25.  
  26.     <!-- Whether to sign any executables produced -->
  27.     <Option Name="SignExecutables" Restrict="true|false" DefaultValue="false" Description="Sign the executables produced where signing is available"/>
  28.  
  29.     <!-- The analytics type -->
  30.     <Option Name="AnalyticsTypeOverride" DefaultValue="" Description="Identifier for analytic events to send"/>
  31.  
  32.     <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"/>
  33.  
  34.     <Do If="'$(HostPlatformOnly)' == true">
  35.         <!-- Activate correct Target Platforms for host -->
  36.         <Switch>
  37.             <Case If="'$(HostPlatform)' == 'Win64'">
  38.                 <Property Name="WithWin64" Value="true"/>
  39.                 <Property Name="WithWin32" Value="true"/>
  40.                 <Property Name="WithMac" Value="false"/>
  41.                 <Property Name="WithLinux" Value="false"/>
  42.             </Case>
  43.             <Case If="'$(HostPlatform)' == 'Mac'">
  44.                 <Property Name="WithWin64" Value="false"/>
  45.                 <Property Name="WithWin32" Value="false"/>
  46.                 <Property Name="WithMac" Value="true"/>
  47.                 <Property Name="WithLinux" Value="false"/>
  48.             </Case>
  49.             <Case If="'$(HostPlatform)' == 'Linux'">
  50.                 <Property Name="WithWin64" Value="false"/>
  51.                 <Property Name="WithWin32" Value="false"/>
  52.                 <Property Name="WithMac" Value="false"/>
  53.                 <Property Name="WithLinux" Value="true"/>
  54.             </Case>
  55.             <Default>
  56.                 <Error Message="$(HostPlatform) is not supported for making an installed build"/>
  57.             </Default>
  58.         </Switch>
  59.         <!-- Other Target Platforms always disabled -->
  60.         <Property Name="WithAndroid" Value="false"/>
  61.         <Property Name="WithIOS" Value="false"/>
  62.         <Property Name="WithTVOS" Value="false"/>
  63.         <Property Name="WithHTML5" Value="false"/>
  64.         <Property Name="WithPS4" Value="false"/>
  65.         <Property Name="WithXboxOne" Value="false"/>
  66.         <Property Name="WithSwitch" Value="false"/>
  67.     </Do>
  68.  
  69.     <!-- The local output directory -->
  70.     <Property Name="LocalInstalledDir" Value="$(RootDir)/LocalBuilds/Engine/Windows"/>
  71.     <Property Name="LocalInstalledDirMac" Value="$(RootDir)/LocalBuilds/Engine/Mac"/>
  72.     <Property Name="LocalInstalledDirLinux" Value="$(RootDir)/LocalBuilds/Engine/Linux"/>
  73.  
  74.     <!-- Directory for storing build products like the Compressed DDC, Stripped and Signed files -->
  75.     <Property Name="SavedOutput" Value="$(RootDir)/Saved"/>
  76.    
  77.     <!-- Directory for storing a stripped version of UAT for installed builds -->
  78.     <Property Name="StrippedUATDir" Value="$(SavedOutput)/StrippedUAT"/>
  79.  
  80.     <!-- Architectures that we build for Android -->
  81.     <Property Name="AndroidArchitectures" Value="armv7+arm64"/>
  82.     <Property Name="AndroidGPUArchitectures" Value="es2"/>
  83.  
  84.     <!-- Include the script that lists files and patterns used when creating an installed build -->
  85.     <Include Script="InstalledEngineFilters.xml"/>
  86.  
  87.     <!-- Base editor and tools for compile on Windows -->
  88.     <Agent Name="Editor Win64" Type="CompileWin64">
  89.         <Node Name="Update Version Files">
  90.             <Log Message="$(RootDir)"/>
  91.             <SetVersion Change="$(Change)" Branch="$(EscapedBranch)" If="$(IsBuildMachine)"/>
  92.         </Node>
  93.         <Node Name="Compile UnrealHeaderTool Win64" Requires="Update Version Files">
  94.             <Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development" Arguments="-precompile"/>
  95.         </Node>
  96.         <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">
  97.             <Compile Target="UE4Editor" Platform="Win64" Configuration="Development" Tag="#UE4Editor Win64" Arguments="-precompile"/>
  98.  
  99.             <Do If="$(EnableSymStore)">
  100.                 <!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
  101.                 <Log Message="Embedding source file information into PDB files..."/>
  102.                 <Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
  103.                 <SrcSrv BinaryFiles="#UE4Editor Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
  104.             </Do>
  105.  
  106.             <Tag Files="#UE4Editor Win64" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions)" With="#UE4Editor Win64 Unstripped"/>
  107.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win64" Files="#UE4Editor Win64 Unstripped" Tag="#UE4Editor Win64 Stripped"/>
  108.  
  109.             <Do If="'$(SignExecutables)' == true">
  110.                 <Tag Files="#UE4Editor Win64" Filter="$(WindowsSignFilter)" With="#UE4Editor Win64 Unsigned"/>
  111.                 <Copy Files="#UE4Editor Win64 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Editor_ToSign_Win64"/>
  112.                 <Sign Files="#Editor_ToSign_Win64" Tag="#UE4Editor Win64 Signed"/>
  113.             </Do>
  114.  
  115.             <!-- Tag the generated includes for this target -->
  116.             <Tag Files="Engine/Intermediate/Build/Win64/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Win64/UE4Editor/Inc/..." Except=".../Timestamp" With="#UE4Editor Win64 Includes"/>
  117.         </Node>
  118.     </Agent>
  119.    
  120.  
  121.     <!-- Base editor and tools for compile on Mac -->
  122.     <Agent Name="Editor Mac" Type="CompileMac">
  123.         <Node Name="Compile UnrealHeaderTool Mac" Requires="Update Version Files">
  124.             <Compile Target="UnrealHeaderTool" Platform="Mac" Configuration="Development" Arguments="-precompile"/>
  125.         </Node>
  126.         <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">
  127.             <Compile Target="UE4Editor" Platform="Mac" Configuration="Development" Tag="#UE4Editor Mac" Arguments="-precompile"/>
  128.  
  129.             <Tag Files="#UE4Editor Mac" Filter="$(MacStripFilter)" With="#UE4Editor Mac Unstripped"/>
  130.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Mac" Files="#UE4Editor Mac Unstripped" Tag="#UE4Editor Mac Stripped"/>
  131.  
  132.             <Do If="'$(SignExecutables)' == true">
  133.                 <Tag Files="#UE4Editor Mac" Filter="$(MacSignFilter)" With="#UE4Editor Mac Unsigned"/>
  134.                 <Copy Files="#UE4Editor Mac Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Editor_ToSign_Mac"/>
  135.                 <Sign Files="#Editor_ToSign_Mac" Tag="#UE4Editor Mac Signed"/>
  136.             </Do>
  137.        
  138.             <!-- Tag the generated includes for this target -->
  139.             <Tag Files="Engine/Intermediate/Build/Mac/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Mac/UE4Editor/Inc/..." Except=".../Timestamp" With="#UE4Editor Mac Includes"/>
  140.         </Node>
  141.     </Agent>
  142.  
  143.     <!-- Base editor and tools for compile on Linux -->
  144.     <Agent Name="Editor Linux" Type="CompileWin64">
  145.         <Node Name="Compile UnrealHeaderTool Linux" Requires="Update Version Files">
  146.             <Compile Target="UnrealHeaderTool" Platform="Linux" Configuration="Development" Arguments="-precompile"/>
  147.         </Node>
  148.         <Node Name="Compile UE4Editor Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Editor Linux;#UE4Editor Linux Unstripped;#UE4Editor Linux Stripped;#UE4Editor Linux Includes">
  149.             <Compile Target="UE4Editor" Platform="Linux" Configuration="Development" Tag="#UE4Editor Linux" Arguments="-precompile"/>
  150.  
  151.             <Tag Files="#UE4Editor Linux" Filter="$(LinuxStripFilter)" With="#UE4Editor Linux Unstripped"/>
  152.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Linux" Files="#UE4Editor Linux Unstripped" Tag="#UE4Editor Linux Stripped"/>
  153.  
  154.             <!-- Tag the generated includes for this target -->
  155.             <Tag Files="Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/...;Engine/Plugins/.../Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/..." Except=".../Timestamp" With="#UE4Editor Linux Includes"/>
  156.         </Node>
  157.     </Agent>
  158.  
  159.     <!-- Target Platforms normally built from a Win64 machine -->
  160.     <Agent Name="Target Platforms Win64" Type="CompileWin64">
  161.         <!-- Downstream monolithics and tools Win64 -->
  162.         <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">
  163.             <Compile Target="UE4Game" Platform="Win64" Configuration="Development" Tag="#UE4Game Win64" Arguments="-precompile -nodebuginfo"/>
  164.             <Compile Target="UE4Game" Platform="Win64" Configuration="Shipping" Tag="#UE4Game Win64" Arguments="-precompile -nodebuginfo"/>
  165.  
  166.             <Do If="$(EnableSymStore)">
  167.                 <!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
  168.                 <Log Message="Embedding source file information into PDB files..."/>
  169.                 <Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
  170.                 <SrcSrv BinaryFiles="#UE4Game Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
  171.             </Do>
  172.  
  173.             <Tag Files="#UE4Game Win64" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions)" With="#UE4Game Win64 Unstripped"/>
  174.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win64" Files="#UE4Game Win64 Unstripped" Tag="#UE4Game Win64 Stripped"/>
  175.  
  176.             <Do If="'$(SignExecutables)' == true">
  177.                 <Tag Files="#UE4Game Win64" Filter="$(WindowsSignFilter)" With="#UE4Game Win64 Unsigned"/>
  178.                 <Copy Files="#UE4Game Win64 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Win64"/>
  179.                 <Sign Files="#Game_ToSign_Win64" Tag="#UE4Game Win64 Signed"/>
  180.             </Do>
  181.        
  182.             <!-- Tag the generated includes for this target -->
  183.             <Tag Files="Engine/Intermediate/Build/Win64/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Win64/UE4/Inc/..." With="#UE4Game Win64 Includes"/>
  184.         </Node>
  185.  
  186.         <!-- Downstream monolithics and tools Win32 -->
  187.         <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">
  188.             <Compile Target="UE4Game" Platform="Win32" Configuration="Development" Tag="#UE4Game Win32" Arguments="-precompile -nodebuginfo"/>
  189.             <Compile Target="UE4Game" Platform="Win32" Configuration="Shipping" Tag="#UE4Game Win32" Arguments="-precompile -nodebuginfo"/>
  190.  
  191.             <Do If="$(EnableSymStore)">
  192.                 <!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
  193.                 <Log Message="Embedding source file information into PDB files..."/>
  194.                 <Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
  195.                 <SrcSrv BinaryFiles="#UE4Game Win32" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
  196.             </Do>
  197.  
  198.             <Tag Files="#UE4Game Win32" Filter="$(Win32StripFilter)" With="#UE4Game Win32 Unstripped"/>
  199.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Win32" Files="#UE4Game Win32 Unstripped" Tag="#UE4Game Win32 Stripped"/>
  200.  
  201.             <Do If="'$(SignExecutables)' == true">
  202.                 <Tag Files="#UE4Game Win32" Filter="$(WindowsSignFilter)" With="#UE4Game Win32 Unsigned"/>
  203.                 <Copy Files="#UE4Game Win32 Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Win32"/>
  204.                 <Sign Files="#Game_ToSign_Win32" Tag="#UE4Game Win32 Signed"/>
  205.             </Do>
  206.  
  207.             <!-- Tag the generated includes for this target -->
  208.             <Tag Files="Engine/Intermediate/Build/Win32/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Win32/UE4/Inc/..." With="#UE4Game Win32 Includes"/>
  209.         </Node>
  210.  
  211.         <!-- Downstream monolithics and tools Linux -->
  212.         <Node Name="Compile UE4Game Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes">
  213.             <Compile Target="UE4Game" Platform="Linux" Configuration="Development" Tag="#UE4Game Linux" Arguments="-precompile"/>
  214.             <Compile Target="UE4Game" Platform="Linux" Configuration="Shipping" Tag="#UE4Game Linux" Arguments="-precompile"/>
  215.  
  216.             <Tag Files="#UE4Game Linux" Filter="$(LinuxStripFilter)" With="#UE4Game Linux Unstripped"/>
  217.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Linux" Files="#UE4Game Linux Unstripped" Tag="#UE4Game Linux Stripped"/>
  218.  
  219.             <!-- Tag the generated includes for this target -->
  220.             <Tag Files="Engine/Intermediate/Build/Linux/B4D820EA/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Linux/B4D820EA/UE4/Inc/..." With="#UE4Game Linux Includes"/>
  221.         </Node>
  222.  
  223.         <!-- Downstream monolithics and tools Android-->
  224.         <Node Name="Compile UE4Game Android" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes">
  225.             <Compile Target="UE4Game" Platform="Android" Configuration="Development" Tag="#UE4Game Android" Arguments="-precompile -architectures=$(AndroidArchitectures) -gpuarchitectures=$(AndroidGPUArchitectures)"/>
  226.             <Compile Target="UE4Game" Platform="Android" Configuration="Shipping" Tag="#UE4Game Android" Arguments="-precompile -architectures=$(AndroidArchitectures) -gpuarchitectures=$(AndroidGPUArchitectures)"/>
  227.  
  228.             <Tag Files="#UE4Game Android" Filter="$(AndroidStripFilter)" With="#UE4Game Android Unstripped"/>
  229.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Android" Files="#UE4Game Android Unstripped" Tag="#UE4Game Android Stripped"/>
  230.  
  231.             <!-- Tag the generated includes for this target -->
  232.             <Tag Files="Engine/Intermediate/Build/Android/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Android/UE4/Inc/..." With="#UE4Game Android Includes"/>
  233.         </Node>
  234.  
  235.         <!-- Downstream monolithics and tools HTML5-->
  236.         <Node Name="Compile UE4Game HTML5" Requires="Compile UnrealHeaderTool $(HostPlatform)" Produces="#UE4Game HTML5;#UE4Game HTML5 Includes">
  237.             <Compile Target="UE4Game" Platform="HTML5" Configuration="Development" Tag="#UE4Game HTML5" Arguments="-precompile"/>
  238.             <Compile Target="UE4Game" Platform="HTML5" Configuration="Shipping" Tag="#UE4Game HTML5" Arguments="-precompile"/>
  239.  
  240.             <!-- Tag the generated includes for this target -->
  241.             <Tag Files="Engine/Intermediate/Build/HTML5/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/HTML5/UE4/Inc/..." With="#UE4Game HTML5 Includes"/>
  242.         </Node>
  243.  
  244.         <!-- Downstream monolithics and tools PS4 -->
  245.         <Node Name="Compile UE4Game PS4" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game PS4;#UE4Game PS4 Includes">
  246.             <Compile Target="UE4Game" Platform="PS4" Configuration="Development" Tag="#UE4Game PS4" Arguments="-precompile"/>
  247.             <Compile Target="UE4Game" Platform="PS4" Configuration="Shipping" Tag="#UE4Game PS4" Arguments="-precompile"/>
  248.  
  249.             <!-- Tag the generated includes for this target -->
  250.             <Tag Files="Engine/Intermediate/Build/PS4/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/PS4/UE4/Inc/..." With="#UE4Game PS4 Includes"/>
  251.         </Node>
  252.  
  253.         <!-- Downstream monolithics and tools XboxOne -->
  254.         <Node Name="Compile UE4Game XboxOne" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game XboxOne;#UE4Game XboxOne Includes">
  255.             <Compile Target="UE4Game" Platform="XboxOne" Configuration="Development" Tag="#UE4Game XboxOne" Arguments="-precompile"/>
  256.             <Compile Target="UE4Game" Platform="XboxOne" Configuration="Shipping" Tag="#UE4Game XboxOne" Arguments="-precompile"/>
  257.  
  258.             <!-- Tag the generated includes for this target -->
  259.             <Tag Files="Engine/Intermediate/Build/XboxOne/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/XboxOne/UE4/Inc/..." With="#UE4Game XboxOne Includes"/>
  260.         </Node>
  261.    
  262.         <!-- Downstream monolithics Switch -->
  263.         <Node Name="Compile UE4Game Switch" Requires="Compile UnrealHeaderTool Win64" Produces="#UE4Game Switch;#UE4Game Switch Includes" If="'$(WithSwitch)' == true">
  264.             <Compile Target="UE4Game" Platform="Switch" Configuration="Development" Tag="#UE4Game Switch" Arguments="-precompile"/>
  265.             <Compile Target="UE4Game" Platform="Switch" Configuration="Shipping" Tag="#UE4Game Switch" Arguments="-precompile"/>
  266.  
  267.             <!-- Tag the generated includes for this target -->
  268.             <Tag Files="Engine/Intermediate/Build/Switch/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Switch/UE4/Inc/..." With="#UE4Game Switch Includes"/>
  269.         </Node>
  270.     </Agent>
  271.  
  272.     <!-- Target Platforms normally built from a Mac machine -->
  273.     <Agent Name="Target Platforms Mac" Type="CompileMac">
  274.         <!-- Downstream monolithics and tools Mac -->
  275.         <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">
  276.             <Compile Target="UE4Game" Platform="Mac" Configuration="Development" Tag="#UE4Game Mac" Arguments="-precompile"/>
  277.             <Compile Target="UE4Game" Platform="Mac" Configuration="Shipping" Tag="#UE4Game Mac" Arguments="-precompile"/>
  278.  
  279.             <Tag Files="#UE4Game Mac" Filter="$(MacStripFilter)" With="#UE4Game Mac Unstripped"/>
  280.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="Mac" Files="#UE4Game Mac Unstripped" Tag="#UE4Game Mac Stripped"/>
  281.  
  282.             <Do If="'$(SignExecutables)' == true">
  283.                 <Tag Files="#UE4Game Mac" Filter="$(MacSignFilter)" With="#UE4Game Mac Unsigned"/>
  284.                 <Copy Files="#UE4Game Mac Unsigned" From="$(RootDir)" To="$(SavedOutput)" Tag="#Game_ToSign_Mac"/>
  285.                 <Sign Files="#Game_ToSign_Mac" Tag="#UE4Game Mac Signed"/>
  286.             </Do>
  287.  
  288.             <!-- Tag the generated includes for this target -->
  289.             <Tag Files="Engine/Intermediate/Build/Mac/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/Mac/UE4/Inc/..." With="#UE4Game Mac Includes"/>
  290.         </Node>
  291.  
  292.         <!-- Downstream monolithics and tools IOS-->
  293.         <Node Name="Compile UE4Game IOS" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes">
  294.             <Compile Target="UE4Game" Platform="IOS" Configuration="Development" Tag="#UE4Game IOS" Arguments="-precompile"/>
  295.             <Compile Target="UE4Game" Platform="IOS" Configuration="Shipping" Tag="#UE4Game IOS" Arguments="-precompile"/>
  296.  
  297.             <!-- Manually add precompiled ARKit binaries, since they're built with an Xcode beta. -->
  298.             <Tag Files="$(RootDir)/Engine/Plugins/Experimental/AppleARKit/Binaries/IOS/UE4-AppleARKit.a" With="#UE4Game IOS"/>
  299.             <Tag Files="$(RootDir)/Engine/Plugins/Experimental/AppleARKit/Binaries/IOS/UE4-AppleARKit-IOS-Shipping.a" With="#UE4Game IOS"/>
  300.  
  301.             <Tag Files="#UE4Game IOS" Filter="$(IOSStripFilter)" With="#UE4Game IOS Unstripped"/>
  302.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="IOS" Files="#UE4Game IOS Unstripped" Tag="#UE4Game IOS Stripped"/>
  303.  
  304.             <!-- Tag the generated includes for this target -->
  305.             <Tag Files="Engine/Intermediate/Build/IOS/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/IOS/UE4/Inc/..." With="#UE4Game IOS Includes"/>
  306.         </Node>
  307.  
  308.         <!-- Downstream monolithics and tools TVOS-->
  309.         <Node Name="Compile UE4Game TVOS" Requires="Compile UnrealHeaderTool Mac" Produces="#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes">
  310.             <Compile Target="UE4Game" Platform="TVOS" Configuration="Development" Tag="#UE4Game TVOS" Arguments="-precompile"/>
  311.             <Compile Target="UE4Game" Platform="TVOS" Configuration="Shipping" Tag="#UE4Game TVOS" Arguments="-precompile"/>
  312.  
  313.             <Tag Files="#UE4Game TVOS" Filter="$(TVOSStripFilter)" With="#UE4Game TVOS Unstripped"/>
  314.             <Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="TVOS" Files="#UE4Game TVOS Unstripped" Tag="#UE4Game TVOS Stripped"/>
  315.  
  316.             <!-- Tag the generated includes for this target -->
  317.             <Tag Files="Engine/Intermediate/Build/TVOS/UE4/Inc/...;Engine/Plugins/.../Intermediate/Build/TVOS/UE4/Inc/..." With="#UE4Game TVOS Includes"/>
  318.         </Node>
  319.     </Agent>
  320.  
  321.     <Agent Name="Tools Group Win64" Type="CompileWin64">
  322.         <Node Name="Build Tools Win64" Requires="Compile UnrealHeaderTool Win64">
  323.             <Compile Target="CrashReportClient" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
  324.             <Compile Target="CrashReportClient" Configuration="Shipping" Platform="Win32" Tag="#Build Tools Win64"/>
  325.             <Compile Target="UnrealWatchdog" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
  326.             <Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
  327.             <Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Win32" Tag="#Build Tools Win64"/>
  328.             <Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
  329.             <Compile Target="UnrealFrontend" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
  330.             <Compile Target="UnrealLightmass" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
  331.             <Compile Target="UnrealPak" Configuration="Development" Platform="Win64" Tag="#Build Tools Win64"/>
  332.             <Compile Target="BootstrapPackagedGame" Configuration="Shipping" Platform="Win32" Tag="#Build Tools Win64"/>
  333.             <Compile Target="BootstrapPackagedGame" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
  334.             <Compile Target="BuildPatchTool" Configuration="Shipping" Platform="Win64" Tag="#Build Tools Win64"/>
  335.  
  336.             <Do If="$(EnableSymStore)">
  337.                 <!-- Embed source info into the PDB files. Should be done from this machine to ensure that paths are correct. -->
  338.                 <Log Message="Embedding source file information into PDB files..."/>
  339.                 <Tag Files="Engine/Source/...;Engine/Plugins/..." Filter="*.c;*.h;*.cpp;*.hpp;*.inl" Except="Engine/Source/ThirdParty/..." With="#SourceFiles"/>
  340.                 <SrcSrv BinaryFiles="#Build Tools Win64" SourceFiles="#SourceFiles" Branch="$(Branch)" Change="$(Change)"/>
  341.             </Do>
  342.         </Node>
  343.         <Node Name="Build Tools CS">
  344.             <Do If="'$(HostPlatform)' == 'Win64'">
  345.                 <CsCompile Project="Engine/Source/Programs/UnrealSwarm/SwarmCoordinator/SwarmCoordinator.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
  346.                 <CsCompile Project="Engine/Source/Programs/UnrealSwarm/Agent/Agent.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
  347.                 <CsCompile Project="Engine/Source/Editor/SwarmInterface/DotNET/SwarmInterface.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
  348.                 <CsCompile Project="Engine/Source/Programs/PS4/PS4DevKitUtil/PS4DevKitUtil.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(WithPS4)' == true"/>
  349.                 <CsCompile Project="Engine/Source/Programs/PS4/PS4SymbolTool/PS4SymbolTool.csproj" Configuration="Release" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(WithPS4)' == true"/>
  350.                 <!-- TODO: Change these projects so that they can be compiled on non-windows platforms (currently use WinForms) -->
  351.                 <CsCompile Project="Engine/Source/Programs/UnrealControls/UnrealControls.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
  352.                 <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"/>
  353.             </Do>
  354.             <CsCompile Project="Engine/Source/Programs/NetworkProfiler/NetworkProfiler/NetworkProfiler.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(HostPlatform)' != 'Linux'"/>
  355.             <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"/>
  356.             <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"/>
  357.             <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"/>
  358.             <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"/>
  359.         </Node>
  360.         <Node Name="Make Feature Packs" Requires="Update Version Files">
  361.             <!--Delete any pre-existing feature packs-->
  362.             <Delete Files="FeaturePacks/..."/>
  363.             <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">
  364.                 <PakFile Output="FeaturePacks/$(TemplateName).upack" Files="" ResponseFile="Templates/$(TemplateName)/contents.txt"/>
  365.             </ForEach>
  366.             <ForEach Name="SampleName" Values="MobileStarterContent;StarterContent">
  367.                 <PakFile Output="FeaturePacks/$(SampleName).upack" Files="" ResponseFile="Samples/$(SampleName)/contents.txt"/>
  368.             </ForEach>
  369.         </Node>
  370.         <Node Name="Build Tools Linux" Requires="Compile UnrealHeaderTool $(HostPlatform)">
  371.             <Compile Target="CrashReportClient" Platform="Linux" Configuration="Shipping"/>
  372.             <Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Linux" Tag="#Build Tools Linux"/>
  373.         </Node>
  374.         <!-- Compile a version of UAT with all confidential exceptions stripped out -->
  375.         <Node Name="Compile Stripped UAT" Requires="Update Version Files" Produces="#StrippedUAT">
  376.             <Delete Files="$(StrippedUATDir)/..."/>
  377.  
  378.             <!-- Copy Source and referenced libraries to a new location with Confidential folders removed-->
  379.             <Tag Files="Engine/Source/Programs/AutomationTool/..." Filter="*.csproj" Except="$(ConfidentialExceptions)"  With="#UAT Projects"/>
  380.             <CsCompile Project="#UAT Projects" Configuration="Development" Platform="AnyCPU" TagReferences="#UATReferences" EnumerateOnly="true"/>
  381.             <Tag Files="Engine/Source/Programs/...;#UATReferences" Except="$(ConfidentialExceptions)" With="#RedistUATSource"/>
  382.             <Copy Files="#RedistUATSource" From="$(RootDir)" To="$(StrippedUATDir)"/>
  383.  
  384.             <!-- Recompile UAT with no confidential code included -->
  385.             <Tag Files="$(StrippedUATDir)/Engine/Source/Programs/AutomationTool/..." Filter="*.csproj" With="#RedistUATProjects"/>
  386.             <CsCompile Project="#RedistUATProjects" Configuration="Development" Platform="AnyCPU" Tag="#StrippedUAT" TagReferences="#StrippedUAT"/>
  387.  
  388.             <!-- Strip and Sign the rebuilt binaries -->
  389.             <Tag Files="#StrippedUAT" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions)" With="#UnstrippedUAT"/>
  390.             <Strip Files="#UnstrippedUAT" Platform="Win64" If="'$(HostPlatform)' == 'Win64'"/>
  391.             <Do If="'$(SignExecutables)' == true">
  392.                 <Tag Files="#StrippedUAT" Filter="$(WindowsSignFilter)" Except="$(SignExceptions)" With="#UnsignedUAT"/>
  393.                 <Sign Files="#UnsignedUAT"/>
  394.             </Do>
  395.         </Node>
  396.     </Agent>
  397.  
  398.     <Agent Name="Tools Group Mac" Type="CompileMac">
  399.         <Node Name="Build Tools Mac" Requires="Compile UnrealHeaderTool Mac">
  400.             <Compile Target="CrashReportClient" Configuration="Shipping" Platform="Mac" Tag="#Build Tools Mac"/>
  401.             <Compile Target="ShaderCompileWorker" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  402.             <Compile Target="UnrealCEFSubProcess" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  403.             <Compile Target="UnrealFrontend" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  404.             <Compile Target="UnrealLightmass" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  405.             <Compile Target="UnrealPak" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  406.             <Compile Target="BuildPatchTool" Configuration="Shipping" Platform="Mac" Tag="#Build Tools Mac"/>
  407.             <Compile Target="DsymExporter" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  408.             <Compile Target="UE4EditorServices" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  409.             <Compile Target="UnrealAtoS" Configuration="Development" Platform="Mac" Tag="#Build Tools Mac"/>
  410.         </Node>
  411.     </Agent>
  412.  
  413.     <Property Name="DDCPlatformsWin64" Value="Windows"/>
  414.     <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+WindowsNoEditor" If="'$(WithWin64)' == true Or '$(WithWin32)' == true"/>
  415.     <Do If="'$(HostPlatformDDCOnly)' == false">
  416.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+Android_ATC" If="'$(WithAndroid)' == true"/>
  417.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+IOS" If="'$(WithIOS)' == true"/>
  418.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+TVOS" If="'$(WithTVOS)' == true"/>
  419.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+LinuxNoEditor" If="'$(WithLinux)' == true"/>
  420.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+HTML5" If="'$(WithHTML5)' == true"/>
  421.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+PS4" If="'$(WithPS4)' == true"/>
  422.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+XboxOne" If="'$(WithXboxOne)' == true"/>
  423.         <Property Name="DDCPlatformsWin64" Value="$(DDCPlatformsWin64)+Switch" If="'$(WithSwitch)' == true"/>
  424.     </Do>
  425.  
  426.     <Agent Name="DDC Group Win64" Type="Win64">
  427.         <Node Name="Build DDC Win64" Requires="#UE4Editor Win64;Build Tools Win64;Build Tools CS" Produces="#CompressedDDCWin64">
  428.             <!-- Get our temp dir -->
  429.             <Property Name="DDCDir" Value="$(RootDir)\LocalBuilds\InstalledDDC"/>
  430.             <Property Name="SavedDir" Value="$(SavedOutput)\Installed\Win64"/>
  431.             <!-- Delete all the old files -->
  432.             <Delete Files="$(DDCDir)\..."/>
  433.             <!-- Build up a list of files needed to build DDC -->
  434.             <CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
  435.             <Tag Files="#Compile UnrealHeaderTool Win64;#UE4Editor Win64;#Build Tools Win64;#Build Tools CS" With="#ToCopy"/>
  436.             <Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
  437.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
  438.             <Tag Files="Engine\Content\..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
  439.             <Tag Files="Engine\Config\..." Except="*.vdf" With="#ToCopy"/>
  440.             <Tag Files="Engine\Plugins\....uplugin;Engine\Plugins\...\Config\...;Engine\Plugins\...\Content\...;Engine\Plugins\...\Resources\...;Engine\Plugins\...\Shaders\...;Engine\Plugins\...\Templates\..." Except="Engine\Plugins\Runtime\TwitchLiveStreaming\...;Engine\Plugins\...\Binaries/Mac\..." With="#ToCopy"/>
  441.             <Tag Files="Engine\Shaders\..." With="#ToCopy"/>
  442.             <Tag Files="Engine\Binaries\DotNET\Ionic.Zip.Reduced.dll" With="#ToCopy"/>
  443.             <Tag Files="Engine\Binaries\DotNET\OneSky.dll" With="#ToCopy"/>
  444.             <Tag Files="Templates\TemplateResources\..." With="#ToCopy"/>
  445.             <!-- 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. -->
  446.             <Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
  447.             <!-- Additional required files that would be removed by confidential filter -->
  448.             <Tag Files="Engine\Build\NotForLicensees\EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine\Build\NotForLicensees\EpicInternal.txt')"/>
  449.             <Tag Files="Engine\Binaries\...\*DDCUtils*" With="#FilteredCopyList"/>
  450.             <!-- Copy everything to a temporary directory -->
  451.             <Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
  452.  
  453.             <Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsWin64) -HostPlatform=Win64 -SavedDir=$(SavedDir)"/>
  454.  
  455.             <Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCWin64"/>
  456.         </Node>
  457.     </Agent>
  458.  
  459.     <Property Name="DDCPlatformsMac" Value="Mac"/>
  460.     <Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+MacNoEditor" If="'$(WithMac)' == true"/>
  461.     <Do If="'$(HostPlatformDDCOnly)' == false">
  462.         <Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+Android_ATC" If="'$(WithAndroid)' == true"/>
  463.         <Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+IOS" If="'$(WithIOS)' == true"/>
  464.         <Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+TVOS" If="'$(WithTVOS)' == true"/>
  465.         <Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+HTML5" If="'$(WithHTML5)' == true"/>
  466.     </Do>
  467.  
  468.     <Agent Name="DDC Group Mac" Type="Mac">
  469.         <Node Name="Build DDC Mac" Requires="#UE4Editor Mac;Build Tools Mac;Build Tools CS" Produces="#CompressedDDCMac">
  470.             <!-- Get our temp dir -->
  471.             <Property Name="DDCDir" Value="$(RootDir)/LocalBuilds/InstalledDDC"/>
  472.             <Property Name="SavedDir" Value="$(SavedOutput)/Installed/Mac"/>
  473.             <!-- Delete all the old files -->
  474.             <Delete Files="$(DDCDir)/..."/>
  475.             <!-- Build up a list of files needed to build DDC -->
  476.             <CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
  477.             <Tag Files="#Compile UnrealHeaderTool Mac;#UE4Editor Mac;#Build Tools Mac;#Build Tools CS" With="#ToCopy"/>
  478.             <Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
  479.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
  480.             <Tag Files="Engine/Content/..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
  481.             <Tag Files="Engine/Config/..." Except="*.vdf" With="#ToCopy"/>
  482.             <Tag Files="Engine/Plugins/....uplugin;Engine/Plugins/.../Config/...;Engine/Plugins/.../Content/...;Engine/Plugins/.../Resources/...;Engine/Plugins/.../Shaders/...;Engine/Plugins/.../Templates/..." Except="Engine/Plugins/Runtime/TwitchLiveStreaming/...;Engine/Plugins/.../Binaries/Win64/...;Engine/Plugins/.../Binaries/Win32/..." With="#ToCopy"/>
  483.             <Tag Files="Engine/Shaders/..." With="#ToCopy"/>
  484.             <Tag Files="Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll" With="#ToCopy"/>
  485.             <Tag Files="Engine/Binaries/DotNET/OneSky.dll" With="#ToCopy"/>
  486.             <Tag Files="Templates/TemplateResources/..." With="#ToCopy"/>
  487.             <!-- 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. -->
  488.             <Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
  489.             <!-- Additional required files that would be removed by confidential filter -->
  490.             <Tag Files="Engine/Build/NotForLicensees/EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine/Build/NotForLicensees/EpicInternal.txt')"/>
  491.             <Tag Files="Engine/Binaries/.../*DDCUtils*" With="#FilteredCopyList"/>
  492.             <!-- Copy everything to a temporary directory -->
  493.             <Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
  494.  
  495.             <Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsMac) -HostPlatform=Mac -SavedDir=$(SavedDir)"/>
  496.  
  497.             <Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCMac"/>
  498.         </Node>
  499.     </Agent>
  500.  
  501.     <Property Name="DDCPlatformsLinux" Value="Linux"/>
  502.     <Property Name="DDCPlatformsLinux" Value="$(DDCPlatformsLinux)+LinuxNoEditor" If="'$(WithLinux)' == true"/>
  503.  
  504.     <Agent Name="DDC Group Linux" Type="Linux">
  505.         <Node Name="Build DDC Linux" Requires="#UE4Editor Linux;Build Tools Linux;Build Tools CS" Produces="#CompressedDDCLinux">
  506.             <!-- Get our temp dir -->
  507.             <Property Name="DDCDir" Value="$(RootDir)/LocalBuilds/InstalledDDC"/>
  508.             <Property Name="SavedDir" Value="$(SavedOutput)/Installed/Linux"/>
  509.             <!-- Delete all the old files -->
  510.             <Delete Files="$(DDCDir)/..."/>
  511.             <!-- Build up a list of files needed to build DDC -->
  512.             <CsCompile Project="Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj" Configuration="Development" Platform="AnyCPU" Tag="#ToCopy" TagReferences="#ToCopy" EnumerateOnly="true"/>
  513.             <Tag Files="#Compile UnrealHeaderTool $(HostPlatform);#UE4Editor Linux;#Build Tools Linux;#Build Tools CS" With="#ToCopy"/>
  514.             <Tag Files="#ToCopy" Filter="*.target" With="#TargetReceipts"/>
  515.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#ToCopy"/>
  516.             <Tag Files="Engine/Content/..." Except="*.psd;*.pdn;*.fbx;*.po" With="#ToCopy"/>
  517.             <Tag Files="Engine/Config/..." Except="*.vdf" With="#ToCopy"/>
  518.             <Tag Files="Engine/Plugins/....uplugin;Engine/Plugins/.../Content/...;Engine/Plugins/.../Resources/...;Engine/Plugins/.../Shaders/...;Engine/Plugins/.../Templates/..." Except="Engine/Plugins/Runtime/TwitchLiveStreaming/...;Engine/Plugins/.../Binaries/Win64/...;Engine/Plugins/.../Binaries/Win32/...;Engine/Plugins/.../Binaries/Mac/..." With="#ToCopy"/>
  519.             <Tag Files="Engine/Shaders/..." With="#ToCopy"/>
  520.             <Tag Files="Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll" With="#ToCopy"/>
  521.             <Tag Files="Engine/Binaries/DotNET/OneSky.dll" With="#ToCopy"/>
  522.             <Tag Files="Templates/TemplateResources/..." With="#ToCopy"/>
  523.             <!-- 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. -->
  524.             <Tag Files="#ToCopy" Except="$(ConfidentialExceptions);.../Source/...;.../Intermediate/..." With="#FilteredCopyList"/>
  525.             <!-- Additional required files that would be removed by confidential filter -->
  526.             <Tag Files="Engine/Build/NotForLicensees/EpicInternal.txt" With="#FilteredCopyList" If="Exists('Engine/Build/NotForLicensees/EpicInternal.txt')"/>
  527.             <Tag Files="Engine/Binaries/.../*DDCUtils*" With="#FilteredCopyList"/>
  528.             <!-- Copy everything to a temporary directory -->
  529.             <Copy From="$(RootDir)" To="$(DDCDir)" Files="#FilteredCopyList"/>
  530.  
  531.             <Command Name="BuildDerivedDataCache" Arguments="-TempDir=$(DDCDir) -FeaturePacks=$(ProjectsToBuildDDC) -TargetPlatforms=$(DDCPlatformsLinux) -HostPlatform=Linux -SavedDir=$(SavedDir)"/>
  532.  
  533.             <Tag Files="$(SavedDir)/Engine/DerivedDataCache/Compressed.ddp" With="#CompressedDDCLinux"/>
  534.         </Node>
  535.     </Agent>
  536.  
  537.     <Agent Name="Installed Build Group Win64" Type="Win64">
  538.         <!-- Build up a list of requirements as some can be optional -->
  539.         <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;#StrippedUAT"/>
  540.         <!-- Optional Target Platform requirements -->
  541.         <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"/>
  542.         <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"/>
  543.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes" If="'$(WithAndroid)' == true"/>
  544.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes" If="'$(WithIOS)' == true"/>
  545.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes" If="'$(WithTVOS)' == true"/>
  546.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes;#Build Tools Linux" If="'$(WithLinux)' == true"/>
  547.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game HTML5;#UE4Game HTML5 Includes" If="'$(WithHTML5)' == true"/>
  548.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game PS4;#UE4Game PS4 Includes" If="'$(WithPS4)' == true"/>
  549.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game XboxOne;#UE4Game XboxOne Includes" If="'$(WithXboxOne)' == true"/>
  550.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Switch;#UE4Game Switch Includes" If="'$(WithSwitch)' == true"/>
  551.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#CompressedDDCWin64" If="'$(WithDDC)' == true"/>
  552.         <!-- Feature packs -->
  553.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);Make Feature Packs"/>
  554.  
  555.         <!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped, signed or just copied -->
  556.         <Node Name="Make Installed Build Win64" Requires="$(InstalledRequirements)" Produces="#Installed Build Win64 Files">
  557.  
  558.             <!-- Clear any existing files from the final location -->
  559.             <Delete Files="$(LocalInstalledDir)\..."/>
  560.  
  561.             <!-- Define filter and exception properties for the installed build -->
  562.             <Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
  563.             <Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
  564.  
  565.             <!-- Tag files that always need to be part of an installed build -->
  566.             <Tag Files="#Compile UnrealHeaderTool Win64" With="#Installed Win64"/>
  567.             <Tag Files="#UE4Editor Win64;#UE4Editor Win64 Includes" Except="#UE4Editor Win64 Unstripped;#UE4Editor Win64 Unsigned" With="#Installed Win64"/>
  568.             <Tag Files="#UE4Editor Win64 Stripped;#UE4Editor Win64 Signed" With="#Saved Output"/>
  569.             <Tag Files="#Build Tools Win64;#Build Tools CS;#Make Feature Packs" With="#Installed Win64"/>
  570.  
  571.             <!-- Tag enabled target platforms -->
  572.             <Do If="'$(WithWin64)' == true">
  573.                 <Tag Files="#UE4Game Win64;#UE4Game Win64 Includes" Except="#UE4Game Win64 Unstripped;#UE4Game Win64 Unsigned" With="#Installed Win64"/>
  574.                 <Tag Files="#UE4Game Win64 Stripped;#UE4Game Win64 Signed" With="#Saved Output"/>
  575.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyWin64Filter)"/>
  576.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyWin64Exceptions)"/>
  577.             </Do>
  578.             <Do If="'$(WithWin32)' == true">
  579.                 <Tag Files="#UE4Game Win32;#UE4Game Win32 Includes" Except="#UE4Game Win32 Unstripped;#UE4Game Win32 Unsigned" With="#Installed Win64"/>
  580.                 <Tag Files="#UE4Game Win32 Stripped;#UE4Game Win32 Signed" With="#Saved Output"/>
  581.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyWin32Filter)"/>
  582.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyWin32Exceptions)"/>
  583.             </Do>
  584.             <Do If="'$(WithAndroid)' == true">
  585.                 <Tag Files="#UE4Game Android;#UE4Game Android Includes" Except="#UE4Game Android Unstripped" With="#Installed Win64"/>
  586.                 <Tag Files="#UE4Game Android Stripped" With="#Saved Output"/>
  587.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyAndroidFilter)"/>
  588.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyAndroidExceptions)"/>
  589.             </Do>
  590.             <Do If="'$(WithIOS)' == true">
  591.                 <Tag Files="#UE4Game IOS;#UE4Game IOS Includes" Except="#UE4Game IOS Unstripped" With="#Installed Win64"/>
  592.                 <Tag Files="#UE4Game IOS Stripped" With="#Saved Output"/>
  593.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyIOSFilter)"/>
  594.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyIOSExceptions)"/>
  595.             </Do>
  596.             <Do If="'$(WithTVOS)' == true">
  597.                 <Tag Files="#UE4Game TVOS;#UE4Game TVOS Includes" Except="#UE4Game TVOS Unstripped" With="#Installed Win64"/>
  598.                 <Tag Files="#UE4Game TVOS Stripped" With="#Saved Output"/>
  599.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyTVOSFilter)"/>
  600.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyTVOSExceptions)"/>
  601.             </Do>
  602.             <Do If="'$(WithLinux)' == true">
  603.                 <Tag Files="#UE4Game Linux;#UE4Game Linux Includes;#Build Tools Linux" Except="#UE4Game Linux Unstripped" With="#Installed Win64"/>
  604.                 <Tag Files="#UE4Game Linux Stripped" With="#Saved Output"/>
  605.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyLinuxFilter)"/>
  606.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyLinuxExceptions)"/>
  607.             </Do>
  608.             <Do If="'$(WithHTML5)' == true">
  609.                 <Tag Files="#UE4Game HTML5;#UE4Game HTML5 Includes" With="#Installed Win64"/>
  610.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyHTML5Filter)"/>
  611.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyHTML5Exceptions)"/>
  612.             </Do>
  613.             <Do If="'$(WithPS4)' == true">
  614.                 <Tag Files="#UE4Game PS4;#UE4Game PS4 Includes" With="#Installed Win64"/>
  615.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyPS4Filter)"/>
  616.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyPS4Exceptions)"/>
  617.             </Do>
  618.             <Do If="'$(WithXboxOne)' == true">
  619.                 <Tag Files="#UE4Game XboxOne;#UE4Game XboxOne Includes" With="#Installed Win64"/>
  620.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyXboxOneFilter)"/>
  621.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyXboxOneExceptions)"/>
  622.             </Do>
  623.             <Do If="'$(WithSwitch)' == true">
  624.                 <Tag Files="#UE4Game Switch;#UE4Game Switch Includes" With="#Installed Win64"/>
  625.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopySwitchFilter)"/>
  626.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopySwitchExceptions)"/>
  627.             </Do>
  628.  
  629.             <!-- Tag any dependencies from all previous build products -->
  630.             <Tag Files="#Installed Win64" Filter="*.target" With="#TargetReceipts"/>
  631.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Win64"/>
  632.  
  633.             <!-- Confidential Exceptions - done last to ensure they never get overwritten -->
  634.             <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
  635.            
  636.             <!-- Tag additional files needed for installed build -->
  637.             <Tag Files="$(CopyInstalledFilter)" With="#Installed Win64"/>
  638.  
  639.             <!-- Tag Win64 files that need to be stripped -->
  640.             <Tag Files="#Compile UnrealHeaderTool Win64;#Build Tools Win64;#Build Tools CS" Filter="$(Win64StripFilter)" Except="$(Win64StripExceptions);$(CopyInstalledExceptions)" With="#Strip Tools for Installed Win64"/>
  641.  
  642.             <Do If="'$(SignExecutables)' == true">
  643.                 <!-- Tag files that need to be signed -->
  644.                 <Tag Files="#Compile UnrealHeaderTool Win64;#Build Tools Win64;#Build Tools CS" Filter="$(WindowsSignFilter)" Except="$(CopyInstalledExceptions);$(SignExceptions)" With="#Sign Tools for Installed Win64"/>
  645.             </Do>
  646.  
  647.             <!-- Tag files that need to be copied directly -->
  648.             <Tag Files="#Installed Win64" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Win64;#Sign Tools for Installed Win64" With="#Copy for Installed Win64"/>
  649.             <Copy Files="#Copy for Installed Win64" From="$(RootDir)" To="$(LocalInstalledDir)" Tag="#Installed Build Win64 Files"/>
  650.  
  651.             <!-- Tag saved output that needs to be copied directly -->
  652.             <Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
  653.             <Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDir)" Tag="#Installed Build Win64 Files"/>
  654.  
  655.             <!-- Strip required files into their final location -->
  656.             <Strip Files="#Strip Tools for Installed Win64" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDir)" Platform="Win64" Tag="#Installed Build Win64 Files"/>
  657.  
  658.             <Do If="'$(SignExecutables)' == true">
  659.                 <!-- Copy then Sign required files in their final location -->
  660.                 <Copy Files="#Sign Tools for Installed Win64" From="$(RootDir)" To="$(LocalInstalledDir)" Tag="#Files to Sign"/>
  661.                 <Sign Files="#Files to Sign" Tag="#Installed Build Win64 Files"/>
  662.             </Do>
  663.  
  664.             <!-- Copy the stripped version of UAT -->
  665.             <Copy Files="#StrippedUAT" From="$(StrippedUATDir)" To="$(LocalInstalledDir)" Tag="#Installed Build Win64 Files"/>
  666.  
  667.             <!-- Copy the compressed DDC -->
  668.             <Property Name="SavedDir" Value="$(SavedOutput)\Installed\Win64"/>
  669.             <Copy Files="#CompressedDDCWin64" From="$(SavedDir)" To="$(LocalInstalledDir)" If="'$(WithDDC)' == true" Tag="#Installed Build Win64 Files"/>
  670.  
  671.             <!-- List all of the platforms that we only allow for content projects -->
  672.             <Property Name="ContentOnlyPlatforms" Value="Linux"/>
  673.  
  674.             <!-- Create command line arguments for any platforms that were built with additional architectures -->
  675.             <Property Name="ArchitectureCommands" Value=""/>
  676.             <Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
  677.  
  678.             <!-- Finalize the build and then tag the text file that this process creates -->
  679.             <Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=&quot;$(LocalInstalledDir)&quot; -ContentOnlyPlatforms=$(ContentOnlyPlatforms) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
  680.             <Tag Files="$(LocalInstalledDir)/Engine/Build/InstalledBuild.txt" With="#Installed Build Win64 Files"/>
  681.         </Node>
  682.     </Agent>
  683.  
  684.     <Agent Name="Installed Build Group Mac" Type="Mac">
  685.         <!-- Build up a list of requirements as some can be optional -->
  686.         <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;#StrippedUAT"/>
  687.         <!-- Optional Target Platform requirements -->
  688.         <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"/>
  689.         <Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game Android;#UE4Game Android Unstripped;#UE4Game Android Stripped;#UE4Game Android Includes" If="'$(WithAndroid)' == true"/>
  690.         <Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game IOS;#UE4Game IOS Unstripped;#UE4Game IOS Stripped;#UE4Game IOS Includes" If="'$(WithIOS)' == true"/>
  691.         <Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game TVOS;#UE4Game TVOS Unstripped;#UE4Game TVOS Stripped;#UE4Game TVOS Includes" If="'$(WithTVOS)' == true"/>
  692.         <Property Name="FilterRequirements" Value="$(FilterRequirements);#UE4Game HTML5;#UE4Game HTML5 Includes" If="'$(WithHTML5)' == true"/>
  693.         <Property Name="FilterRequirements" Value="$(FilterRequirements);#CompressedDDCMac" If="'$(WithDDC)' == true"/>
  694.         <!-- Feature packs -->
  695.         <Property Name="FilterRequirements" Value="$(FilterRequirements);Make Feature Packs"/>
  696.  
  697.         <!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped, signed or just copied-->
  698.         <Node Name="Make Installed Build Mac" Requires="$(FilterRequirements)" Produces="#Installed Build Mac Files">
  699.  
  700.             <!-- Clear any existing files from the final location -->
  701.             <Delete Files="$(LocalInstalledDirMac)/..."/>
  702.  
  703.             <!-- Define filter and exception properties for the installed build -->
  704.             <Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
  705.             <Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
  706.  
  707.             <!-- Tag files that always need to be part of an installed build -->
  708.             <Tag Files="#Compile UnrealHeaderTool Mac" With="#Installed Mac"/>
  709.             <Tag Files="#UE4Editor Mac;#UE4Editor Mac Includes" Except="#UE4Editor Mac Unstripped;#UE4Editor Mac Unsigned" With="#Installed Mac"/>
  710.             <Tag Files="#UE4Editor Mac Stripped;#UE4Editor Mac Signed" With="#Saved Output"/>
  711.             <Tag Files="#Build Tools Mac;#Build Tools CS;#Make Feature Packs" With="#Installed Mac"/>
  712.  
  713.             <!-- Tag enabled target platforms -->
  714.             <Do If="'$(WithMac)' == true">
  715.                 <Tag Files="#UE4Game Mac;#UE4Game Mac Includes" Except="#UE4Game Mac Unstripped;#UE4Game Mac Unsigned" With="#Installed Mac"/>
  716.                 <Tag Files="#UE4Game Mac Stripped;#UE4Game Mac Signed" With="#Saved Output"/>
  717.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyMacFilter)"/>
  718.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyMacExceptions)"/>
  719.             </Do>
  720.             <Do  If="'$(WithAndroid)' == true">
  721.                 <Tag Files="#UE4Game Android;#UE4Game Android Includes" Except="#UE4Game Android Unstripped" With="#Installed Mac"/>
  722.                 <Tag Files="#UE4Game Android Stripped" With="#Saved Output"/>
  723.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyAndroidFilter)"/>
  724.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyAndroidExceptions)"/>
  725.             </Do>
  726.             <Do If="'$(WithIOS)' == true">
  727.                 <Tag Files="#UE4Game IOS;#UE4Game IOS Includes" Except="#UE4Game IOS Unstripped" With="#Installed Mac"/>
  728.                 <Tag Files="#UE4Game IOS Stripped" With="#Saved Output"/>
  729.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyIOSFilter)"/>
  730.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyIOSExceptions)"/>
  731.             </Do>
  732.             <Do If="'$(WithTVOS)' == true">
  733.                 <Tag Files="#UE4Game TVOS;#UE4Game TVOS Includes" Except="#UE4Game TVOS Unstripped" With="#Installed Mac"/>
  734.                 <Tag Files="#UE4Game TVOS Stripped" With="#Saved Output"/>
  735.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyTVOSFilter)"/>
  736.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyTVOSExceptions)"/>
  737.             </Do>
  738.             <Do If="'$(WithHTML5)' == true">
  739.                 <Tag Files="#UE4Game HTML5;#UE4Game HTML5 Includes" With="#Installed Mac"/>
  740.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyHTML5Filter)"/>
  741.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyHTML5Exceptions)"/>
  742.             </Do>
  743.  
  744.             <!-- Tag any dependencies from all previous build products -->
  745.             <Tag Files="#Installed Mac" Filter="*.target" With="#TargetReceipts"/>
  746.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Mac"/>
  747.  
  748.             <!-- Confidential Exceptions - done last to ensure they never get overwritten -->
  749.             <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
  750.            
  751.             <!-- Tag additional files needed for editor and platforms -->
  752.             <Tag Files="$(CopyInstalledFilter)" With="#Installed Mac"/>
  753.  
  754.             <!-- Tag Mac files that need to be stripped -->
  755.             <Tag Files="#Compile UnrealHeaderTool Mac;#Build Tools Mac" Filter="$(MacStripFilter)" Except="$(CopyInstalledExceptions)" With="#Strip Tools for Installed Mac"/>
  756.  
  757.             <Do If="'$(SignExecutables)' == true">
  758.                 <!-- Tag files that need to be signed -->
  759.                 <Tag Files="#Compile UnrealHeaderTool Mac;#Build Tools Mac" Filter="$(MacSignFilter)" Except="$(CopyInstalledExceptions);$(SignExceptions)" With="#Sign Tools for Installed Mac"/>
  760.             </Do>
  761.  
  762.             <!-- Tag files that need to be copied directly -->
  763.             <Tag Files="#Installed Mac" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Mac;#Sign Tools for Installed Mac" With="#Copy for Installed Mac"/>
  764.             <Copy Files="#Copy for Installed Mac" From="$(RootDir)" To="$(LocalInstalledDirMac)" Tag="#Installed Build Mac Files"/>
  765.  
  766.             <!-- Tag saved output that needs to be copied directly -->
  767.             <Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
  768.             <Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDirMac)" Tag="#Installed Build Mac Files"/>
  769.  
  770.             <!-- Strip required files into their final location -->
  771.             <Strip Files="#Strip Tools for Installed Mac" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDirMac)" Platform="Mac" Tag="#Installed Build Mac Files"/>
  772.  
  773.             <Do If="'$(SignExecutables)' == true">
  774.                 <!-- Copy then Sign required files in their final location -->
  775.                 <Copy Files="#Sign Tools for Installed Mac" From="$(RootDir)" To="$(LocalInstalledDirMac)" Tag="#Files to Sign"/>
  776.                 <Sign Files="#Files to Sign" Tag="#Installed Build Mac Files"/>
  777.             </Do>
  778.  
  779.             <!-- Copy the stripped version of UAT -->
  780.             <Copy Files="#StrippedUAT" From="$(StrippedUATDir)" To="$(LocalInstalledDirMac)" Tag="#Installed Build Mac Files"/>
  781.  
  782.             <!-- Copy the compressed DDC -->
  783.             <Property Name="SavedDir" Value="$(SavedOutput)/Installed/Mac"/>
  784.             <Copy Files="#CompressedDDCMac" From="$(SavedDir)" To="$(LocalInstalledDirMac)" If="'$(WithDDC)' == true" Tag="#Installed Build Mac Files"/>
  785.  
  786.             <!-- Create command line arguments for any platforms that were built with additional architectures -->
  787.             <Property Name="ArchitectureCommands" Value=""/>
  788.             <Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
  789.             <!-- Finalize the build and then tag the text file that this process creates -->
  790.             <Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=$(LocalInstalledDirMac) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
  791.             <Tag Files="$(LocalInstalledDirMac)/Engine/Build/InstalledBuild.txt" With="#Installed Build Mac Files"/>
  792.         </Node>
  793.     </Agent>
  794.  
  795.     <Agent Name="Installed Build Group Linux" Type="Win64">
  796.         <!-- Build up a list of requirements as some can be optional -->
  797.         <Property Name="InstalledRequirements" Value="#Compile UnrealHeaderTool Linux;#UE4Editor Linux;#UE4Editor Linux Unstripped;#UE4Editor Linux Stripped;#UE4Editor Linux Includes;#Build Tools Linux;#Build Tools CS;#StrippedUAT"/>
  798.         <!-- Optional Target Platform requirements -->
  799.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UE4Game Linux;#UE4Game Linux Unstripped;#UE4Game Linux Stripped;#UE4Game Linux Includes" If="'$(WithLinux)' == true"/>
  800.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);#CompressedDDCLinux" If="'$(WithDDC)' == true"/>
  801.         <!-- Feature packs -->
  802.         <Property Name="InstalledRequirements" Value="$(InstalledRequirements);Make Feature Packs"/>
  803.  
  804.         <!-- Filters the build products required for an installed build into groups depending on whether they need to be stripped or just copied -->
  805.         <Node Name="Make Installed Build Linux" Requires="$(InstalledRequirements)" Produces="#Installed Build Linux Files">
  806.  
  807.             <!-- Clear any existing files from the final location -->
  808.             <Delete Files="$(LocalInstalledDirLinux)\..."/>
  809.  
  810.             <!-- Define filter and exception properties for the installed build -->
  811.             <Property Name="CopyInstalledFilter" Value="$(CopyEditorFilter)"/>
  812.             <Property Name="CopyInstalledExceptions" Value="$(CopyEditorExceptions)"/>
  813.  
  814.             <!-- Tag files that always need to be part of an installed build -->
  815.             <Tag Files="#Compile UnrealHeaderTool Linux" With="#Installed Linux"/>
  816.             <Tag Files="#UE4Editor Linux;#UE4Editor Linux Includes" Except="#UE4Editor Linux Unstripped" With="#Installed Linux"/>
  817.             <Tag Files="#UE4Editor Linux Stripped" With="#Saved Output"/>
  818.             <Tag Files="#Build Tools Linux;#Build Tools CS;#Make Feature Packs" With="#Installed Linux"/>
  819.  
  820.             <!-- Tag enabled target platforms -->
  821.             <Do If="'$(WithLinux)' == true">
  822.                 <Tag Files="#UE4Game Linux;#UE4Game Linux Includes;#Build Tools Linux" Except="#UE4Game Linux Unstripped" With="#Installed Linux"/>
  823.                 <Tag Files="#UE4Game Linux Stripped" With="#Saved Output"/>
  824.                 <Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyLinuxFilter)"/>
  825.                 <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyLinuxExceptions)"/>
  826.             </Do>
  827.  
  828.             <!-- Tag any dependencies from all previous build products -->
  829.             <Tag Files="#Installed Linux" Filter="*.target" With="#TargetReceipts"/>
  830.             <TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" PrecompiledBuildDependencies="true" PrecompiledRuntimeDependencies="true" With="#Installed Linux"/>
  831.  
  832.             <!-- Confidential Exceptions - done last to ensure they never get overwritten -->
  833.             <Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(ConfidentialExceptions)"/>
  834.  
  835.             <!-- Tag additional files needed for installed build -->
  836.             <Tag Files="$(CopyInstalledFilter)" With="#Installed Linux"/>
  837.  
  838.             <!-- Tag Linux files that need to be stripped -->
  839.             <Tag Files="#Compile UnrealHeaderTool Linux;#Build Tools Linux;#Build Tools CS" Filter="$(LinuxStripFilter)" Except="$(CopyInstalledExceptions)" With="#Strip Tools for Installed Linux"/>
  840.  
  841.             <!-- Tag files that need to be copied directly -->
  842.             <Tag Files="#Installed Linux" Except="$(CopyInstalledExceptions);#Strip Tools for Installed Linux" With="#Copy for Installed Linux"/>
  843.             <Copy Files="#Copy for Installed Linux" From="$(RootDir)" To="$(LocalInstalledDirLinux)" Tag="#Installed Build Linux Files"/>
  844.  
  845.             <!-- Tag saved output that needs to be copied directly -->
  846.             <Tag BaseDir="$(SavedOutput)" Files="#Saved Output" Except="$(CopyInstalledExceptions)" With="#Copy Saved Output"/>
  847.             <Copy Files="#Copy Saved Output" From="$(SavedOutput)" To="$(LocalInstalledDirLinux)" Tag="#Installed Build Linux Files"/>
  848.  
  849.             <!-- Strip required files into their final location -->
  850.             <Strip Files="#Strip Tools for Installed Linux" BaseDir="$(RootDir)" OutputDir="$(LocalInstalledDirLinux)" Platform="Linux" Tag="#Installed Build Linux Files"/>
  851.  
  852.             <!-- Copy the stripped version of UAT -->
  853.             <Copy Files="#StrippedUAT" From="$(StrippedUATDir)" To="$(LocalInstalledDirLinux)" Tag="#Installed Build Linux Files"/>
  854.  
  855.             <!-- Copy the compressed DDC -->
  856.             <Property Name="SavedDir" Value="$(SavedOutput)\Installed\Linux"/>
  857.             <Copy Files="#CompressedDDCLinux" From="$(SavedDir)" To="$(LocalInstalledDirLinux)" If="'$(WithDDC)' == true" Tag="#Installed Build Linux Files"/>
  858.  
  859.             <!-- List all of the platforms that we only allow for content projects -->
  860.             <Property Name="ContentOnlyPlatforms" Value=""/>
  861.  
  862.             <!-- Create command line arguments for any platforms that were built with additional architectures -->
  863.             <Property Name="ArchitectureCommands" Value=""/>
  864.             <Property Name="ArchitectureCommands" Value="$(ArchitectureCommands) -AndroidArchitectures=$(AndroidArchitectures) -AndroidGPUArchitectures=$(AndroidGPUArchitectures)" If="'$(WithAndroid)' == true"/>
  865.  
  866.             <!-- Finalize the build and then tag the text file that this process creates -->
  867.             <Command Name="FinalizeInstalledBuild" Arguments="-OutputDir=$(LocalInstalledDirLinux) -ContentOnlyPlatforms=$(ContentOnlyPlatforms) $(ArchitectureCommands) -AnalyticsTypeOverride=$(AnalyticsTypeOverride)"/>
  868.             <Tag Files="$(LocalInstalledDirLinux)/Engine/Build/InstalledBuild.txt" With="#Installed Build Linux Files"/>
  869.         </Node>
  870.     </Agent>
  871.  
  872. </BuildGraph>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement