2016-01-07 08:17:16 -05:00
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
using System ;
using System.Collections.Generic ;
using System.Text ;
using System.Diagnostics ;
using System.IO ;
using System.Linq ;
2014-04-29 11:21:18 -04:00
using System.Text.RegularExpressions ;
2014-03-14 14:13:41 -04:00
using System.Xml ;
2015-06-09 11:50:55 -04:00
using Tools.DotNETCommon.CaselessDictionary ;
2014-03-14 14:13:41 -04:00
namespace UnrealBuildTool
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// Distribution level of module.
/// Note: The name of each entry is used to search for/create folders
/// </summary>
2015-03-27 07:15:32 -04:00
public enum UEBuildModuleDistribution
{
/// Binaries can be distributed to everyone
Public ,
/// Can be used by UE4 but not required
CarefullyRedist ,
/// Epic Employees and Contractors
NotForLicensees ,
/// Epic Employees only
NoRedist ,
}
2015-09-24 12:37:21 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// A unit of code compilation and linking.
/// </summary>
2014-03-14 14:13:41 -04:00
public abstract class UEBuildModule
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// Checks what distribution level a particular path should have by checking for key folders anywhere in it
/// </summary>
2015-03-27 07:15:32 -04:00
public static UEBuildModuleDistribution GetModuleDistributionLevelBasedOnLocation ( string FilePath )
{
// Get full path to ensure all folder separators are the same
FilePath = Path . GetFullPath ( FilePath ) ;
// Check from highest to lowest (don't actually need to check 'Everyone')
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
for ( UEBuildModuleDistribution DistributionLevel = UEBuildModuleDistribution . NoRedist ; DistributionLevel > UEBuildModuleDistribution . Public ; DistributionLevel - - )
2015-03-27 07:15:32 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string DistributionFolderName = String . Format ( "{0}{1}{0}" , Path . DirectorySeparatorChar , DistributionLevel . ToString ( ) ) ;
2015-03-27 07:15:32 -04:00
if ( FilePath . IndexOf ( DistributionFolderName , StringComparison . InvariantCultureIgnoreCase ) > = 0 )
{
return DistributionLevel ;
}
if ( DistributionLevel = = UEBuildModuleDistribution . NotForLicensees )
{
// Extra checks for PS4 and XboxOne folders, which are equivalent to NotForLicensees
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string PS4FolderName = String . Format ( "{0}ps4{0}" , Path . DirectorySeparatorChar ) ;
string XboxFolderName = String . Format ( "{0}xboxone{0}" , Path . DirectorySeparatorChar ) ;
2015-03-27 07:15:32 -04:00
if ( FilePath . IndexOf ( PS4FolderName , StringComparison . InvariantCultureIgnoreCase ) > = 0
| | FilePath . IndexOf ( XboxFolderName , StringComparison . InvariantCultureIgnoreCase ) > = 0 )
{
return UEBuildModuleDistribution . NotForLicensees ;
}
}
}
return UEBuildModuleDistribution . Public ;
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Determines the distribution level of a module based on its directory and includes.
/// </summary>
2015-09-04 08:02:30 -04:00
public UEBuildModuleDistribution DetermineDistributionLevel ( )
2015-03-27 07:15:32 -04:00
{
List < string > PathsToCheck = new List < string > ( ) ;
2015-09-03 08:47:24 -04:00
PathsToCheck . Add ( ModuleDirectory . FullName ) ;
2015-03-27 07:15:32 -04:00
PathsToCheck . AddRange ( PublicIncludePaths ) ;
PathsToCheck . AddRange ( PrivateIncludePaths ) ;
// Not sure if these two are necessary as paths will usually be in basic includes too
PathsToCheck . AddRange ( PublicSystemIncludePaths ) ;
PathsToCheck . AddRange ( PublicLibraryPaths ) ;
2015-09-04 08:02:30 -04:00
UEBuildModuleDistribution DistributionLevel = UEBuildModuleDistribution . Public ;
2015-03-27 07:15:32 -04:00
2015-10-13 11:20:35 -04:00
if ( ! Rules . bOutputPubliclyDistributable )
2015-03-27 07:15:32 -04:00
{
2015-10-13 11:20:35 -04:00
// Keep checking as long as we haven't reached the maximum level
for ( int PathIndex = 0 ; PathIndex < PathsToCheck . Count & & DistributionLevel ! = UEBuildModuleDistribution . NoRedist ; + + PathIndex )
{
DistributionLevel = Utils . Max ( DistributionLevel , UEBuildModule . GetModuleDistributionLevelBasedOnLocation ( PathsToCheck [ PathIndex ] ) ) ;
}
2015-03-27 07:15:32 -04:00
}
2015-09-04 08:02:30 -04:00
return DistributionLevel ;
2015-03-27 07:15:32 -04:00
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Converts an optional string list parameter to a well-defined hash set.
/// </summary>
2014-09-11 03:21:51 -04:00
protected static HashSet < string > HashSetFromOptionalEnumerableStringParameter ( IEnumerable < string > InEnumerableStrings )
2014-03-14 14:13:41 -04:00
{
2014-09-11 03:21:51 -04:00
return InEnumerableStrings = = null ? new HashSet < string > ( ) : new HashSet < string > ( InEnumerableStrings ) ;
2014-03-14 14:13:41 -04:00
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// The name that uniquely identifies the module.
/// </summary>
2014-03-14 14:13:41 -04:00
public readonly string Name ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The type of module being built. Used to switch between debug/development and precompiled/source configurations.
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public UHTModuleType Type ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// The rules for this module
/// </summary>
2015-08-28 08:39:42 -04:00
public ModuleRules Rules ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// Path to the module directory
/// </summary>
2015-09-03 08:47:24 -04:00
public readonly DirectoryReference ModuleDirectory ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Is this module allowed to be redistributed.
/// </summary>
2014-07-21 04:28:22 -04:00
private readonly bool? IsRedistributableOverride ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The name of the .Build.cs file this module was created from, if any
/// </summary>
2015-09-08 07:59:23 -04:00
public FileReference RulesFile ;
2015-05-08 15:19:00 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// The binary the module will be linked into for the current target. Only set after UEBuildBinary.BindModules is called.
/// </summary>
2014-03-14 14:13:41 -04:00
public UEBuildBinary Binary = null ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// Include path for this module's base directory, relative to the Engine/Source directory
/// </summary>
2015-09-08 15:50:24 -04:00
protected string NormalizedModuleIncludePath ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The name of the _API define for this module
/// </summary>
2015-09-08 15:50:24 -04:00
protected readonly string ModuleApiDefine ;
2014-09-11 03:21:51 -04:00
protected readonly HashSet < string > PublicDefinitions ;
protected readonly HashSet < string > PublicIncludePaths ;
protected readonly HashSet < string > PrivateIncludePaths ;
protected readonly HashSet < string > PublicSystemIncludePaths ;
protected readonly HashSet < string > PublicLibraryPaths ;
protected readonly HashSet < string > PublicAdditionalLibraries ;
protected readonly HashSet < string > PublicFrameworks ;
protected readonly HashSet < string > PublicWeakFrameworks ;
protected readonly HashSet < UEBuildFramework > PublicAdditionalFrameworks ;
protected readonly HashSet < string > PublicAdditionalShadowFiles ;
protected readonly HashSet < UEBuildBundleResource > PublicAdditionalBundleResources ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Names of modules with header files that this module's public interface needs access to.
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > PublicIncludePathModules ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Names of modules that this module's public interface depends on.
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > PublicDependencyModules ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Names of DLLs that this module should delay load
/// </summary>
2014-09-11 03:21:51 -04:00
protected HashSet < string > PublicDelayLoadDLLs ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Names of modules with header files that this module's private implementation needs access to.
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > PrivateIncludePathModules ;
2015-09-24 12:37:21 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Names of modules that this module's private implementation depends on.
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > PrivateDependencyModules ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Extra modules this module may require at run time
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > DynamicallyLoadedModules ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Extra modules this module may require at run time, that are on behalf of another platform (i.e. shader formats and the like)
/// </summary>
2015-08-28 15:47:20 -04:00
protected List < UEBuildModule > PlatformSpecificDynamicallyLoadedModules ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Files which this module depends on at runtime.
/// </summary>
2016-03-31 15:18:30 -04:00
public RuntimeDependencyList RuntimeDependencies ;
2015-04-03 10:25:57 -04:00
2016-01-27 12:09:53 -05:00
/// <summary>
/// Returns a list of this module's immediate dependencies.
/// </summary>
/// <returns>An enumerable containing the dependencies of the module.</returns>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public IEnumerable < UEBuildModule > GetDirectDependencyModules ( )
2016-01-27 12:09:53 -05:00
{
return PublicDependencyModules . Concat ( PrivateDependencyModules ) . Concat ( DynamicallyLoadedModules ) . Concat ( PlatformSpecificDynamicallyLoadedModules ) ;
}
2014-03-14 14:13:41 -04:00
public UEBuildModule (
string InName ,
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UHTModuleType InType ,
2015-09-03 08:47:24 -04:00
DirectoryReference InModuleDirectory ,
2015-08-28 08:39:42 -04:00
ModuleRules InRules ,
2015-09-08 07:59:23 -04:00
FileReference InRulesFile
2014-03-14 14:13:41 -04:00
)
{
Name = InName ;
Type = InType ;
ModuleDirectory = InModuleDirectory ;
2015-09-08 07:59:23 -04:00
Rules = InRules ;
RulesFile = InRulesFile ;
2015-09-08 15:50:24 -04:00
NormalizedModuleIncludePath = Utils . CleanDirectorySeparators ( ModuleDirectory . MakeRelativeTo ( UnrealBuildTool . EngineSourceDirectory ) , '/' ) ;
ModuleApiDefine = Name . ToUpperInvariant ( ) + "_API" ;
2015-08-28 08:39:42 -04:00
PublicDefinitions = HashSetFromOptionalEnumerableStringParameter ( InRules . Definitions ) ;
PublicIncludePaths = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicIncludePaths ) ;
PublicSystemIncludePaths = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicSystemIncludePaths ) ;
PublicLibraryPaths = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicLibraryPaths ) ;
PublicAdditionalLibraries = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicAdditionalLibraries ) ;
PublicFrameworks = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicFrameworks ) ;
PublicWeakFrameworks = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicWeakFrameworks ) ;
PublicAdditionalFrameworks = InRules . PublicAdditionalFrameworks = = null ? new HashSet < UEBuildFramework > ( ) : new HashSet < UEBuildFramework > ( InRules . PublicAdditionalFrameworks ) ;
PublicAdditionalShadowFiles = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicAdditionalShadowFiles ) ;
PublicAdditionalBundleResources = InRules . AdditionalBundleResources = = null ? new HashSet < UEBuildBundleResource > ( ) : new HashSet < UEBuildBundleResource > ( InRules . AdditionalBundleResources ) ;
PublicDelayLoadDLLs = HashSetFromOptionalEnumerableStringParameter ( InRules . PublicDelayLoadDLLs ) ;
PrivateIncludePaths = HashSetFromOptionalEnumerableStringParameter ( InRules . PrivateIncludePaths ) ;
2016-03-31 15:18:30 -04:00
RuntimeDependencies = ( InRules . RuntimeDependencies = = null ) ? new RuntimeDependencyList ( ) : new RuntimeDependencyList ( InRules . RuntimeDependencies ) ;
2015-08-28 08:39:42 -04:00
IsRedistributableOverride = InRules . IsRedistributableOverride ;
2014-03-14 14:13:41 -04:00
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Determines whether this module has a circular dependency on the given module
/// </summary>
2015-08-28 15:47:20 -04:00
public bool HasCircularDependencyOn ( string ModuleName )
{
return Rules . CircularlyReferencedDependentModules . Contains ( ModuleName ) ;
}
2016-03-17 11:10:14 -04:00
/// <summary>
/// Find all the modules which affect the public compile environment. Searches through
/// </summary>
/// <param name="Modules"></param>
/// <param name="bIncludePathsOnly"></param>
/// <param name="DependencyModules"></param>
protected void FindModulesInPublicCompileEnvironment ( List < UEBuildModule > Modules , Dictionary < UEBuildModule , bool > ModuleToIncludePathsOnlyFlag )
{
//
bool bModuleIncludePathsOnly ;
if ( ! ModuleToIncludePathsOnlyFlag . TryGetValue ( this , out bModuleIncludePathsOnly ) )
{
Modules . Add ( this ) ;
}
else if ( ! bModuleIncludePathsOnly )
{
return ;
}
ModuleToIncludePathsOnlyFlag [ this ] = false ;
foreach ( UEBuildModule DependencyModule in PublicDependencyModules )
{
DependencyModule . FindModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
}
// Now add an include paths from modules with header files that we need access to, but won't necessarily be importing
foreach ( UEBuildModule IncludePathModule in PublicIncludePathModules )
{
IncludePathModule . FindIncludePathModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
}
}
/// <summary>
/// Find all the modules which affect the public compile environment. Searches through
/// </summary>
/// <param name="Modules"></param>
/// <param name="bIncludePathsOnly"></param>
/// <param name="DependencyModules"></param>
protected void FindIncludePathModulesInPublicCompileEnvironment ( List < UEBuildModule > Modules , Dictionary < UEBuildModule , bool > ModuleToIncludePathsOnlyFlag )
{
if ( ! ModuleToIncludePathsOnlyFlag . ContainsKey ( this ) )
{
// Add this module to the list
Modules . Add ( this ) ;
ModuleToIncludePathsOnlyFlag . Add ( this , true ) ;
// Include any of its public include path modules in the compile environment too
foreach ( UEBuildModule IncludePathModule in PublicIncludePathModules )
{
IncludePathModule . FindIncludePathModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
}
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Sets up the environment for compiling any module that includes the public interface of this module.
/// </summary>
2016-03-17 11:10:14 -04:00
public void AddModuleToCompileEnvironment (
2014-03-14 14:13:41 -04:00
UEBuildBinary SourceBinary ,
bool bIncludePathsOnly ,
2015-03-21 11:34:08 -04:00
HashSet < string > IncludePaths ,
HashSet < string > SystemIncludePaths ,
List < string > Definitions ,
2016-03-17 11:10:14 -04:00
List < UEBuildFramework > AdditionalFrameworks
2014-03-14 14:13:41 -04:00
)
{
2016-03-17 11:10:14 -04:00
// Add this module's public include paths and definitions.
AddIncludePathsWithChecks ( IncludePaths , PublicIncludePaths ) ;
AddIncludePathsWithChecks ( SystemIncludePaths , PublicSystemIncludePaths ) ;
Definitions . AddRange ( PublicDefinitions ) ;
2015-09-24 12:37:21 -04:00
2016-03-17 11:10:14 -04:00
// If this module is being built into a DLL or EXE, set up an IMPORTS or EXPORTS definition for it.
if ( Binary = = null )
{
// If we're referencing include paths for a module that's not being built, we don't actually need to import anything from it, but we need to avoid barfing when
// the compiler encounters an _API define. We also want to avoid changing the compile environment in cases where the module happens to be compiled because it's a dependency
// of something else, which cause a fall-through to the code below and set up an empty _API define.
if ( bIncludePathsOnly )
2015-08-10 13:10:18 -04:00
{
2016-03-17 11:10:14 -04:00
Log . TraceVerbose ( "{0}: Include paths only for {1} (no binary)" , SourceBinary . Config . OutputFilePaths [ 0 ] . GetFileNameWithoutExtension ( ) , Name ) ;
Definitions . Add ( ModuleApiDefine + "=" ) ;
}
}
else
{
FileReference BinaryPath = Binary . Config . OutputFilePaths [ 0 ] ;
FileReference SourceBinaryPath = SourceBinary . Config . OutputFilePaths [ 0 ] ;
if ( ProjectFileGenerator . bGenerateProjectFiles | | ( Binary . Config . Type = = UEBuildBinaryType . StaticLibrary ) )
{
// When generating IntelliSense files, never add dllimport/dllexport specifiers as it
// simply confuses the compiler
Definitions . Add ( ModuleApiDefine + "=" ) ;
}
else if ( Binary = = SourceBinary )
{
if ( Binary . Config . bAllowExports )
2015-08-10 13:10:18 -04:00
{
2016-03-17 11:10:14 -04:00
Log . TraceVerbose ( "{0}: Exporting {1} from {2}" , SourceBinaryPath . GetFileNameWithoutExtension ( ) , Name , BinaryPath . GetFileNameWithoutExtension ( ) ) ;
Definitions . Add ( ModuleApiDefine + "=DLLEXPORT" ) ;
}
else
{
Log . TraceVerbose ( "{0}: Not importing/exporting {1} (binary: {2})" , SourceBinaryPath . GetFileNameWithoutExtension ( ) , Name , BinaryPath . GetFileNameWithoutExtension ( ) ) ;
2015-09-24 12:37:21 -04:00
Definitions . Add ( ModuleApiDefine + "=" ) ;
2015-08-10 13:10:18 -04:00
}
}
else
2014-03-14 14:13:41 -04:00
{
2016-03-17 11:10:14 -04:00
// @todo SharedPCH: Public headers included from modules that are not importing the module of that public header, seems invalid.
// Those public headers have no business having APIs in them. OnlineSubsystem has some public headers like this. Without changing
// this, we need to suppress warnings at compile time.
if ( bIncludePathsOnly )
2014-03-14 14:13:41 -04:00
{
2016-03-17 11:10:14 -04:00
Log . TraceVerbose ( "{0}: Include paths only for {1} (binary: {2})" , SourceBinaryPath . GetFileNameWithoutExtension ( ) , Name , BinaryPath . GetFileNameWithoutExtension ( ) ) ;
2015-09-24 12:37:21 -04:00
Definitions . Add ( ModuleApiDefine + "=" ) ;
2014-03-14 14:13:41 -04:00
}
2016-03-17 11:10:14 -04:00
else if ( Binary . Config . bAllowExports )
2014-03-14 14:13:41 -04:00
{
2016-03-17 11:10:14 -04:00
Log . TraceVerbose ( "{0}: Importing {1} from {2}" , SourceBinaryPath . GetFileNameWithoutExtension ( ) , Name , BinaryPath . GetFileNameWithoutExtension ( ) ) ;
Definitions . Add ( ModuleApiDefine + "=DLLIMPORT" ) ;
2014-03-14 14:13:41 -04:00
}
else
{
2016-03-17 11:10:14 -04:00
Log . TraceVerbose ( "{0}: Not importing/exporting {1} (binary: {2})" , SourceBinaryPath . GetFileNameWithoutExtension ( ) , Name , BinaryPath . GetFileNameWithoutExtension ( ) ) ;
Definitions . Add ( ModuleApiDefine + "=" ) ;
2014-03-14 14:13:41 -04:00
}
}
2016-03-17 11:10:14 -04:00
}
2014-03-14 14:13:41 -04:00
2016-03-17 11:10:14 -04:00
// Add the module's directory to the include path, so we can root #includes to it
IncludePaths . Add ( NormalizedModuleIncludePath ) ;
2014-03-14 14:13:41 -04:00
2016-03-17 11:10:14 -04:00
// Add the additional frameworks so that the compiler can know about their #include paths
AdditionalFrameworks . AddRange ( PublicAdditionalFrameworks ) ;
2014-05-19 06:57:00 -04:00
2016-03-17 11:10:14 -04:00
// Remember the module so we can refer to it when needed
foreach ( UEBuildFramework Framework in PublicAdditionalFrameworks )
{
Framework . OwningModule = this ;
2014-03-14 14:13:41 -04:00
}
}
2014-08-21 07:33:21 -04:00
2014-08-22 08:28:48 -04:00
static Regex VCMacroRegex = new Regex ( @"\$\([A-Za-z0-9_]+\)" ) ;
2014-08-22 08:23:53 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Checks if path contains a VC macro
/// </summary>
2014-08-22 08:23:53 -04:00
protected bool DoesPathContainVCMacro ( string Path )
{
2014-08-22 08:28:48 -04:00
return VCMacroRegex . IsMatch ( Path ) ;
2014-08-22 08:23:53 -04:00
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Adds PathsToAdd to IncludePaths, performing path normalization and ignoring duplicates.
/// </summary>
2014-09-11 03:21:51 -04:00
protected void AddIncludePathsWithChecks ( HashSet < string > IncludePaths , HashSet < string > PathsToAdd )
2014-08-21 07:33:21 -04:00
{
2014-09-11 05:47:22 -04:00
if ( ProjectFileGenerator . bGenerateProjectFiles )
2014-08-21 07:33:21 -04:00
{
2014-09-11 05:47:22 -04:00
// Extra checks are switched off for IntelliSense generation as they provide
// no additional value and cause performance impact.
IncludePaths . UnionWith ( PathsToAdd ) ;
}
else
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( string Path in PathsToAdd )
2014-08-21 07:33:21 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string NormalizedPath = Path . TrimEnd ( '/' ) ;
2014-09-11 05:47:22 -04:00
// If path doesn't exist, it may contain VC macro (which is passed directly to and expanded by compiler).
if ( Directory . Exists ( NormalizedPath ) | | DoesPathContainVCMacro ( NormalizedPath ) )
{
IncludePaths . Add ( NormalizedPath ) ;
}
2014-08-21 07:33:21 -04:00
}
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Sets up the environment for compiling this module.
/// </summary>
2014-03-14 14:13:41 -04:00
protected virtual void SetupPrivateCompileEnvironment (
2015-03-21 11:34:08 -04:00
HashSet < string > IncludePaths ,
HashSet < string > SystemIncludePaths ,
List < string > Definitions ,
List < UEBuildFramework > AdditionalFrameworks
2014-03-14 14:13:41 -04:00
)
{
2015-09-08 15:50:24 -04:00
HashSet < UEBuildModule > VisitedModules = new HashSet < UEBuildModule > ( ) ;
2014-03-14 14:13:41 -04:00
2016-01-27 12:09:53 -05:00
if ( this . Type . IsGameModule ( ) )
2014-10-30 17:10:56 -04:00
{
Definitions . Add ( "DEPRECATED_FORGAME=DEPRECATED" ) ;
}
2014-03-14 14:13:41 -04:00
// Add this module's private include paths and definitions.
2014-08-21 07:33:21 -04:00
AddIncludePathsWithChecks ( IncludePaths , PrivateIncludePaths ) ;
2014-03-14 14:13:41 -04:00
2016-03-17 11:10:14 -04:00
// Find all the modules that are part of the public compile environment for this module.
List < UEBuildModule > Modules = new List < UEBuildModule > ( ) ;
Dictionary < UEBuildModule , bool > ModuleToIncludePathsOnlyFlag = new Dictionary < UEBuildModule , bool > ( ) ;
FindModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
2014-03-14 14:13:41 -04:00
2016-03-17 11:10:14 -04:00
// Add in all the modules that are private dependencies
2015-09-24 12:37:21 -04:00
foreach ( UEBuildModule DependencyModule in PrivateDependencyModules )
2014-03-14 14:13:41 -04:00
{
2016-03-17 11:10:14 -04:00
DependencyModule . FindModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
2014-03-14 14:13:41 -04:00
}
2016-03-17 11:10:14 -04:00
// And finally add in all the modules that are include path only dependencies
2015-09-24 12:37:21 -04:00
foreach ( UEBuildModule IncludePathModule in PrivateIncludePathModules )
2014-03-14 14:13:41 -04:00
{
2016-03-17 11:10:14 -04:00
IncludePathModule . FindIncludePathModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
}
// Now set up the compile environment for the modules in the original order that we encountered them
foreach ( UEBuildModule Module in Modules )
{
Module . AddModuleToCompileEnvironment ( Binary , ModuleToIncludePathsOnlyFlag [ Module ] , IncludePaths , SystemIncludePaths , Definitions , AdditionalFrameworks ) ;
2014-03-14 14:13:41 -04:00
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Sets up the environment for linking any module that includes the public interface of this module.
/// </summary>
2014-03-14 14:13:41 -04:00
protected virtual void SetupPublicLinkEnvironment (
UEBuildBinary SourceBinary ,
2015-03-21 11:34:08 -04:00
List < string > LibraryPaths ,
List < string > AdditionalLibraries ,
List < string > Frameworks ,
List < string > WeakFrameworks ,
List < UEBuildFramework > AdditionalFrameworks ,
List < string > AdditionalShadowFiles ,
List < UEBuildBundleResource > AdditionalBundleResources ,
List < string > DelayLoadDLLs ,
List < UEBuildBinary > BinaryDependencies ,
2015-09-08 15:50:24 -04:00
HashSet < UEBuildModule > VisitedModules
2014-03-14 14:13:41 -04:00
)
{
// There may be circular dependencies in compile dependencies, so we need to avoid reentrance.
2015-09-24 12:37:21 -04:00
if ( VisitedModules . Add ( this ) )
2014-03-14 14:13:41 -04:00
{
2016-01-07 11:21:22 -05:00
// Add this module's binary to the binary dependencies.
if ( Binary ! = null
2014-03-14 14:13:41 -04:00
& & Binary ! = SourceBinary
& & ! BinaryDependencies . Contains ( Binary ) )
2016-01-07 11:21:22 -05:00
{
BinaryDependencies . Add ( Binary ) ;
}
2014-03-14 14:13:41 -04:00
2016-01-07 11:21:22 -05:00
// If this module belongs to a static library that we are not currently building, recursively add the link environment settings for all of its dependencies too.
// Keep doing this until we reach a module that is not part of a static library (or external module, since they have no associated binary).
// Static libraries do not contain the symbols for their dependencies, so we need to recursively gather them to be linked into other binary types.
bool bIsBuildingAStaticLibrary = ( SourceBinary ! = null & & SourceBinary . Config . Type = = UEBuildBinaryType . StaticLibrary ) ;
bool bIsModuleBinaryAStaticLibrary = ( Binary ! = null & & Binary . Config . Type = = UEBuildBinaryType . StaticLibrary ) ;
if ( ! bIsBuildingAStaticLibrary & & bIsModuleBinaryAStaticLibrary )
{
// Gather all dependencies and recursively call SetupPublicLinkEnvironmnet
List < UEBuildModule > AllDependencyModules = new List < UEBuildModule > ( ) ;
AllDependencyModules . AddRange ( PrivateDependencyModules ) ;
AllDependencyModules . AddRange ( PublicDependencyModules ) ;
2014-03-14 14:13:41 -04:00
2016-01-07 11:21:22 -05:00
foreach ( UEBuildModule DependencyModule in AllDependencyModules )
{
bool bIsExternalModule = ( DependencyModule as UEBuildExternalModule ! = null ) ;
bool bIsInStaticLibrary = ( DependencyModule . Binary ! = null & & DependencyModule . Binary . Config . Type = = UEBuildBinaryType . StaticLibrary ) ;
if ( bIsExternalModule | | bIsInStaticLibrary )
2014-03-14 14:13:41 -04:00
{
2016-01-07 11:21:22 -05:00
DependencyModule . SetupPublicLinkEnvironment ( SourceBinary , LibraryPaths , AdditionalLibraries , Frameworks , WeakFrameworks ,
AdditionalFrameworks , AdditionalShadowFiles , AdditionalBundleResources , DelayLoadDLLs , BinaryDependencies , VisitedModules ) ;
2014-03-14 14:13:41 -04:00
}
}
}
2016-01-07 11:21:22 -05:00
// Add this module's public include library paths and additional libraries.
LibraryPaths . AddRange ( PublicLibraryPaths ) ;
AdditionalLibraries . AddRange ( PublicAdditionalLibraries ) ;
Frameworks . AddRange ( PublicFrameworks ) ;
WeakFrameworks . AddRange ( PublicWeakFrameworks ) ;
AdditionalBundleResources . AddRange ( PublicAdditionalBundleResources ) ;
// Remember the module so we can refer to it when needed
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( UEBuildFramework Framework in PublicAdditionalFrameworks )
2016-01-07 11:21:22 -05:00
{
Framework . OwningModule = this ;
}
AdditionalFrameworks . AddRange ( PublicAdditionalFrameworks ) ;
AdditionalShadowFiles . AddRange ( PublicAdditionalShadowFiles ) ;
DelayLoadDLLs . AddRange ( PublicDelayLoadDLLs ) ;
2014-03-14 14:13:41 -04:00
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Sets up the environment for linking this module.
/// </summary>
2014-03-14 14:13:41 -04:00
public virtual void SetupPrivateLinkEnvironment (
2015-05-22 08:57:34 -04:00
UEBuildBinary SourceBinary ,
2015-03-21 11:34:08 -04:00
LinkEnvironment LinkEnvironment ,
List < UEBuildBinary > BinaryDependencies ,
2015-09-08 15:50:24 -04:00
HashSet < UEBuildModule > VisitedModules
2014-03-14 14:13:41 -04:00
)
{
// Allow the module's public dependencies to add library paths and additional libraries to the link environment.
2015-05-22 08:57:34 -04:00
SetupPublicLinkEnvironment ( SourceBinary , LinkEnvironment . Config . LibraryPaths , LinkEnvironment . Config . AdditionalLibraries , LinkEnvironment . Config . Frameworks , LinkEnvironment . Config . WeakFrameworks ,
2015-09-24 12:37:21 -04:00
LinkEnvironment . Config . AdditionalFrameworks , LinkEnvironment . Config . AdditionalShadowFiles , LinkEnvironment . Config . AdditionalBundleResources , LinkEnvironment . Config . DelayLoadDLLs , BinaryDependencies , VisitedModules ) ;
2014-03-14 14:13:41 -04:00
// Also allow the module's public and private dependencies to modify the link environment.
2015-08-28 15:47:20 -04:00
List < UEBuildModule > AllDependencyModules = new List < UEBuildModule > ( ) ;
AllDependencyModules . AddRange ( PrivateDependencyModules ) ;
AllDependencyModules . AddRange ( PublicDependencyModules ) ;
2014-03-14 14:13:41 -04:00
2015-08-28 15:47:20 -04:00
foreach ( UEBuildModule DependencyModule in AllDependencyModules )
2014-03-14 14:13:41 -04:00
{
2015-05-22 08:57:34 -04:00
DependencyModule . SetupPublicLinkEnvironment ( SourceBinary , LinkEnvironment . Config . LibraryPaths , LinkEnvironment . Config . AdditionalLibraries , LinkEnvironment . Config . Frameworks , LinkEnvironment . Config . WeakFrameworks ,
2015-03-21 11:34:08 -04:00
LinkEnvironment . Config . AdditionalFrameworks , LinkEnvironment . Config . AdditionalShadowFiles , LinkEnvironment . Config . AdditionalBundleResources , LinkEnvironment . Config . DelayLoadDLLs , BinaryDependencies , VisitedModules ) ;
2014-03-14 14:13:41 -04:00
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Compiles the module, and returns a list of files output by the compiler.
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public abstract List < FileItem > Compile ( UEBuildTarget Target , UEToolChain ToolChain , CPPEnvironment GlobalCompileEnvironment , CPPEnvironment CompileEnvironment ) ;
2015-09-24 12:37:21 -04:00
2014-03-14 14:13:41 -04:00
// Object interface.
public override string ToString ( )
{
return Name ;
}
2016-01-07 11:21:22 -05:00
/// <summary>
/// Finds the modules referenced by this module which have not yet been bound to a binary
/// </summary>
/// <returns>List of unbound modules</returns>
public List < UEBuildModule > GetUnboundReferences ( )
{
List < UEBuildModule > Modules = new List < UEBuildModule > ( ) ;
Modules . AddRange ( PrivateDependencyModules . Where ( x = > x . Binary = = null ) ) ;
Modules . AddRange ( PublicDependencyModules . Where ( x = > x . Binary = = null ) ) ;
return Modules ;
}
2015-06-09 11:50:55 -04:00
[DebuggerDisplay("{Index}: {Module}")]
public class ModuleIndexPair
{
public UEBuildModule Module ;
2015-09-24 12:37:21 -04:00
public int Index ;
2015-06-09 11:50:55 -04:00
}
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Gets all of the modules referenced by this module
/// </summary>
/// <param name="ReferencedModules">Hash of all referenced modules with their addition index.</param>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
/// <param name="IgnoreReferencedModules">Hashset used to ignore modules which are already added to the list</param>
2015-09-24 13:47:13 -04:00
/// <param name="bIncludeDynamicallyLoaded">True if dynamically loaded modules (and all of their dependent modules) should be included.</param>
/// <param name="bForceCircular">True if circular dependencies should be processed</param>
/// <param name="bOnlyDirectDependencies">True to return only this module's direct dependencies</param>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public virtual void GetAllDependencyModules ( List < UEBuildModule > ReferencedModules , HashSet < UEBuildModule > IgnoreReferencedModules , bool bIncludeDynamicallyLoaded , bool bForceCircular , bool bOnlyDirectDependencies )
2014-03-14 14:13:41 -04:00
{
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Gets all of the modules precompiled along with this module
/// </summary>
/// <param name="Modules">Set of all the precompiled modules</param>
2015-03-20 08:25:23 -04:00
public virtual void RecursivelyAddPrecompiledModules ( List < UEBuildModule > Modules )
{
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Creates all the modules required for this target
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public void RecursivelyCreateModules ( UEBuildTarget Target )
2014-03-14 14:13:41 -04:00
{
2015-08-28 15:47:20 -04:00
// Create all the include path modules. These modules may not be added to the target (and we don't process their dependencies), but they need
// to be created to set up their compile environment.
RecursivelyCreateIncludePathModulesByName ( Target , Rules . PublicIncludePathModuleNames , ref PublicIncludePathModules ) ;
RecursivelyCreateIncludePathModulesByName ( Target , Rules . PrivateIncludePathModuleNames , ref PrivateIncludePathModules ) ;
// Create all the dependency modules
RecursivelyCreateModulesByName ( Target , Rules . PublicDependencyModuleNames , ref PublicDependencyModules ) ;
RecursivelyCreateModulesByName ( Target , Rules . PrivateDependencyModuleNames , ref PrivateDependencyModules ) ;
RecursivelyCreateModulesByName ( Target , Rules . DynamicallyLoadedModuleNames , ref DynamicallyLoadedModules ) ;
RecursivelyCreateModulesByName ( Target , Rules . PlatformSpecificDynamicallyLoadedModuleNames , ref PlatformSpecificDynamicallyLoadedModules ) ;
}
private static void RecursivelyCreateModulesByName ( UEBuildTarget Target , List < string > ModuleNames , ref List < UEBuildModule > Modules )
{
// Check whether the module list is already set. We set this immediately (via the ref) to avoid infinite recursion.
2015-09-24 12:37:21 -04:00
if ( Modules = = null )
2015-08-28 15:47:20 -04:00
{
Modules = new List < UEBuildModule > ( ) ;
2015-09-24 12:37:21 -04:00
foreach ( string ModuleName in ModuleNames )
2015-08-28 15:47:20 -04:00
{
UEBuildModule Module = Target . FindOrCreateModuleByName ( ModuleName ) ;
2015-09-24 12:37:21 -04:00
if ( ! Modules . Contains ( Module ) )
2015-09-08 07:59:23 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
Module . RecursivelyCreateModules ( Target ) ;
2015-09-08 07:59:23 -04:00
Modules . Add ( Module ) ;
}
2015-08-28 15:47:20 -04:00
}
}
}
private static void RecursivelyCreateIncludePathModulesByName ( UEBuildTarget Target , List < string > ModuleNames , ref List < UEBuildModule > Modules )
{
// Check whether the module list is already set. We set this immediately (via the ref) to avoid infinite recursion.
2015-09-24 12:37:21 -04:00
if ( Modules = = null )
2015-08-28 15:47:20 -04:00
{
Modules = new List < UEBuildModule > ( ) ;
2015-09-24 12:37:21 -04:00
foreach ( string ModuleName in ModuleNames )
2015-08-28 15:47:20 -04:00
{
UEBuildModule Module = Target . FindOrCreateModuleByName ( ModuleName ) ;
RecursivelyCreateIncludePathModulesByName ( Target , Module . Rules . PublicIncludePathModuleNames , ref Module . PublicIncludePathModules ) ;
Modules . Add ( Module ) ;
}
}
2014-03-14 14:13:41 -04:00
}
} ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// A module that is never compiled by us, and is only used to group include paths and libraries into a dependency unit.
/// </summary>
2014-03-14 14:13:41 -04:00
class UEBuildExternalModule : UEBuildModule
{
public UEBuildExternalModule (
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UHTModuleType InType ,
2014-03-14 14:13:41 -04:00
string InName ,
2015-09-03 08:47:24 -04:00
DirectoryReference InModuleDirectory ,
2015-08-28 08:39:42 -04:00
ModuleRules InRules ,
2015-09-08 07:59:23 -04:00
FileReference InRulesFile
2014-03-14 14:13:41 -04:00
)
2015-09-24 12:37:21 -04:00
: base (
InType : InType ,
InName : InName ,
InModuleDirectory : InModuleDirectory ,
InRules : InRules ,
InRulesFile : InRulesFile
)
2014-03-14 14:13:41 -04:00
{
}
// UEBuildModule interface.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public override List < FileItem > Compile ( UEBuildTarget Target , UEToolChain ToolChain , CPPEnvironment GlobalCompileEnvironment , CPPEnvironment CompileEnvironment )
2014-03-14 14:13:41 -04:00
{
return new List < FileItem > ( ) ;
}
} ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// A module that is compiled from C++ code.
/// </summary>
2014-03-14 14:13:41 -04:00
public class UEBuildModuleCPP : UEBuildModule
{
2014-04-28 04:53:09 -04:00
public class AutoGenerateCppInfoClass
2014-04-23 20:18:55 -04:00
{
2014-08-02 09:44:00 -04:00
public class BuildInfoClass
2014-04-23 20:18:55 -04:00
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// The wildcard of the *.generated.cpp file which was generated for the module
/// </summary>
2014-09-22 09:46:58 -04:00
public readonly string FileWildcard ;
2014-04-23 20:18:55 -04:00
2014-09-22 09:46:58 -04:00
public BuildInfoClass ( string InWildcard )
2014-08-02 09:44:00 -04:00
{
2014-09-22 09:46:58 -04:00
Debug . Assert ( InWildcard ! = null ) ;
2014-08-02 09:44:00 -04:00
2014-09-22 09:46:58 -04:00
FileWildcard = InWildcard ;
2014-08-02 09:44:00 -04:00
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Information about how to build the .generated.cpp files. If this is null, then we're not building .generated.cpp files for this module.
/// </summary>
2014-08-02 09:44:00 -04:00
public BuildInfoClass BuildInfo ;
public AutoGenerateCppInfoClass ( BuildInfoClass InBuildInfo )
{
BuildInfo = InBuildInfo ;
2014-04-23 20:18:55 -04:00
}
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Information about the .generated.cpp file. If this is null then this module doesn't have any UHT-produced code.
/// </summary>
2014-04-28 04:53:09 -04:00
public AutoGenerateCppInfoClass AutoGenerateCppInfo = null ;
2014-04-23 20:18:55 -04:00
2014-04-28 04:53:09 -04:00
public class SourceFilesClass
2014-04-23 20:18:55 -04:00
{
public readonly List < FileItem > MissingFiles = new List < FileItem > ( ) ;
2015-09-24 12:37:21 -04:00
public readonly List < FileItem > CPPFiles = new List < FileItem > ( ) ;
public readonly List < FileItem > CFiles = new List < FileItem > ( ) ;
public readonly List < FileItem > CCFiles = new List < FileItem > ( ) ;
public readonly List < FileItem > MMFiles = new List < FileItem > ( ) ;
public readonly List < FileItem > RCFiles = new List < FileItem > ( ) ;
public readonly List < FileItem > OtherFiles = new List < FileItem > ( ) ;
2014-04-28 04:53:09 -04:00
public int Count
{
get
{
return MissingFiles . Count +
2015-09-24 12:37:21 -04:00
CPPFiles . Count +
CFiles . Count +
CCFiles . Count +
MMFiles . Count +
RCFiles . Count +
OtherFiles . Count ;
2014-04-28 04:53:09 -04:00
}
}
2015-05-14 08:05:11 -04:00
/// <summary>
/// Copy from list to list helper.
/// </summary>
/// <param name="From">Source list.</param>
/// <param name="To">Destination list.</param>
private static void CopyFromListToList ( List < FileItem > From , List < FileItem > To )
{
To . Clear ( ) ;
To . AddRange ( From ) ;
}
/// <summary>
/// Copies file lists from other SourceFilesClass to this.
/// </summary>
/// <param name="Other">Source object.</param>
public void CopyFrom ( SourceFilesClass Other )
{
CopyFromListToList ( Other . MissingFiles , MissingFiles ) ;
CopyFromListToList ( Other . CPPFiles , CPPFiles ) ;
CopyFromListToList ( Other . CFiles , CFiles ) ;
CopyFromListToList ( Other . CCFiles , CCFiles ) ;
CopyFromListToList ( Other . MMFiles , MMFiles ) ;
CopyFromListToList ( Other . RCFiles , RCFiles ) ;
CopyFromListToList ( Other . OtherFiles , OtherFiles ) ;
}
2014-04-23 20:18:55 -04:00
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Adds additional source cpp files for this module.
/// </summary>
/// <param name="Files">Files to add.</param>
2014-10-30 10:07:51 -04:00
public void AddAdditionalCPPFiles ( IEnumerable < FileItem > Files )
{
SourceFilesToBuild . CPPFiles . AddRange ( Files ) ;
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// A list of the absolute paths of source files to be built in this module.
/// </summary>
2014-05-29 16:51:44 -04:00
public readonly SourceFilesClass SourceFilesToBuild = new SourceFilesClass ( ) ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// A list of the source files that were found for the module.
/// </summary>
2015-05-14 08:05:11 -04:00
public readonly SourceFilesClass SourceFilesFound = new SourceFilesClass ( ) ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The directory for this module's generated code
/// </summary>
2015-09-03 08:47:24 -04:00
public readonly DirectoryReference GeneratedCodeDirectory ;
2015-04-20 18:05:25 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// The preprocessor definitions used to compile this module's private implementation.
/// </summary>
2014-09-11 03:21:51 -04:00
HashSet < string > Definitions ;
2014-03-14 14:13:41 -04:00
/// When set, allows this module to report compiler definitions and include paths for Intellisense
IntelliSenseGatherer IntelliSenseGatherer ;
2014-12-04 05:35:51 -05:00
public List < string > IncludeSearchPaths = new List < string > ( ) ;
2014-04-23 20:18:55 -04:00
public class ProcessedDependenciesClass
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// The file, if any, which is used as the unique PCH for this module
/// </summary>
2014-04-23 20:18:55 -04:00
public FileItem UniquePCHHeaderFile = null ;
}
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// The processed dependencies for the class
/// </summary>
2014-04-23 20:18:55 -04:00
public ProcessedDependenciesClass ProcessedDependencies = null ;
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// Hack to skip adding definitions to compile environment. They will be baked into source code by external code.
/// </summary>
2014-12-17 12:37:39 -05:00
public bool bSkipDefinitionsForCompileEnvironment = false ;
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2884592 on 2016/02/27 by Maciej.Mroz
Packages containing Dynamic Types are listed as dependencies in FAsyncPackage::LoadImports
#codereview Robert.Manuszewski
Change 2884607 on 2016/02/27 by Maciej.Mroz
CDO of DynamicClass is postponed as a regular CDO creation.
This change is risky (it still requires some tests), but it seems to be necessary for solving (cyclic) dependencies while Async Loading.
#codereview Robert.Manuszewski, Mike.Beach
Change 2885915 on 2016/02/29 by Michael.Schoell
Struct pins on exposed on spawn properties will no longer error on compile if they do not have a pin connected to them.
UKismetSystemLibrary::SetStructurePropertyByName's Value pin is now marked as a AutoCreateRefTerm so literals can be used on the auto-generated node.
Modified FKismetCompilerUtilities::GenerateAssignmentNodes to assign the literal value into the pin, which in turn allows it to expand into an auto-ref term.
#jira UE-23130 - ExposeOnSpawn struct properties are not handled correctly
Change 2887269 on 2016/03/01 by Maciej.Mroz
Fixes related to DisregardForGC:
- merged 2885687 from Dev-Core branch
- ensure CDO of newly added class is created in CloseDisregardForGC
Change 2887273 on 2016/03/01 by Maciej.Mroz
GUObjectArray.CloseDisregardForGC(); is called before GUObjectArray.DisableDisregardForGC();
Change 2892502 on 2016/03/03 by Maciej.Mroz
More descriptive ensures.
Change 2892509 on 2016/03/03 by Maciej.Mroz
Minor changes in Orion code, necessary to compile the project with nativized Blueprints
#codereview David.Ratti
Change 2892513 on 2016/03/03 by Maciej.Mroz
Blueprint C++ Conversion: there is no crash when a asset used by a nativized class wasn't loaded.
Change 2894347 on 2016/03/04 by Michael.Schoell
Fixed crash with the Array Item Get node in the disassembler.
#jira UE-27734 - Error in TeamLobby
Change 2895311 on 2016/03/04 by Michael.Schoell
Right click and using "Find References" on an event node in either the MyBlueprint window or a graph panel, will search the function's name, not the node's title (drops the Event text).
#jira UE-27335 - GitHub 2092 : Skip "Event " Prefix when Finding References for Events
PR #2092: Skip "Event " Prefix when Finding References for Events (Contributed by mollstam)
Change 2896714 on 2016/03/07 by Ben.Cosh
Fixes for a few related crash/assert issues when profiling blueprints that use event dispatchers/call event functions and latent nodes.
#UE-27090 - Crash when calling an Event Dispatcher within a Sequence node with the Blueprint Profiler on
#Proj KismetCompiler, BlueprintProfiler, BlueprintGraph, Kismet, CoreUObject
#codereview Phillip.Kavan
Change 2897335 on 2016/03/07 by Dan.Oconnor
Unshelved from pending changelist '2889006':
We now copy UObjects that are assigned to Instance properties via UObjectPropertyBase::ImportText_Internal
#jira UE-26310
Change 2899151 on 2016/03/08 by Phillip.Kavan
[UEBP-112] BP profiler - pure node timings
change summary:
- first-pass revisions for tracking/visualizing pure node execution timings while profiling
- trace path debugging support (default: off)
#codereview Ben.Cosh
Change 2901763 on 2016/03/09 by Michael.Schoell
Can undo/redo nodes added using shortcuts.
Also fixed issue with macro nodes added using shortcuts not being selected.
#jira UE-28027 - Cannot Undo Blueprint Nodes Placed Using Shortcuts
Change 2902762 on 2016/03/10 by Phillip.Kavan
[UE-28167] Fix compile-time crash caused by intermediate pure nodes when the BP profiler view is active.
change summary:
- modified FBlueprintExecutionContext::MapNodeExecution() to avoid impure nodes when mapping the pure node execution chain.
#codereview Ben.Cosh
Change 2907961 on 2016/03/14 by Maciej.Mroz
#jira UE-28249 Cooked win32 Fortnite server crash loading in to FastCook map
Manually integrated CL#2906835 from Dev-Core - Reset last non-gc index when disabling disregard for GC pool
Change 2908013 on 2016/03/14 by Maciej.Mroz
EmptyLinkFunctionForGeneratedCode function for all .generated.*.cpp files
Fixed problem when stuff from some .generated.*.cpp files for nativized Blueprints plugin were not linked at all.
#codereview Robert.Manuszewski, Steve.Robb
Change 2908033 on 2016/03/14 by Maciej.Mroz
Various fixes and improvements related to initialization sequence of converted Dynamic Classes.
[CL 2910931 by Mike Beach in Main branch]
2016-03-15 19:07:47 -04:00
public int FindNumberOfGeneratedCppFiles ( )
{
return ( ( null = = GeneratedCodeDirectory ) | | ! GeneratedCodeDirectory . Exists ( ) ) ? 0
: ( GeneratedCodeDirectory . EnumerateFileReferences ( "*.generated.*.cpp" , SearchOption . AllDirectories ) . Count ( )
+ GeneratedCodeDirectory . EnumerateFileReferences ( "*.generated.cpp" , SearchOption . AllDirectories ) . Count ( ) ) ;
}
2015-09-24 13:47:13 -04:00
/// <summary>
/// Categorizes source files into per-extension buckets
/// </summary>
2014-05-29 16:51:44 -04:00
private static void CategorizeSourceFiles ( IEnumerable < FileItem > InSourceFiles , SourceFilesClass OutSourceFiles )
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem SourceFile in InSourceFiles )
2014-05-29 16:51:44 -04:00
{
string Extension = Path . GetExtension ( SourceFile . AbsolutePath ) . ToUpperInvariant ( ) ;
if ( ! SourceFile . bExists )
{
OutSourceFiles . MissingFiles . Add ( SourceFile ) ;
}
else if ( Extension = = ".CPP" )
{
OutSourceFiles . CPPFiles . Add ( SourceFile ) ;
}
else if ( Extension = = ".C" )
{
OutSourceFiles . CFiles . Add ( SourceFile ) ;
}
else if ( Extension = = ".CC" )
{
OutSourceFiles . CCFiles . Add ( SourceFile ) ;
}
else if ( Extension = = ".MM" | | Extension = = ".M" )
{
OutSourceFiles . MMFiles . Add ( SourceFile ) ;
}
else if ( Extension = = ".RC" )
{
OutSourceFiles . RCFiles . Add ( SourceFile ) ;
}
else
{
OutSourceFiles . OtherFiles . Add ( SourceFile ) ;
}
}
}
2014-03-14 14:13:41 -04:00
public UEBuildModuleCPP (
string InName ,
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UHTModuleType InType ,
2015-09-03 08:47:24 -04:00
DirectoryReference InModuleDirectory ,
DirectoryReference InGeneratedCodeDirectory ,
2014-03-14 14:13:41 -04:00
IntelliSenseGatherer InIntelliSenseGatherer ,
IEnumerable < FileItem > InSourceFiles ,
2015-08-28 08:39:42 -04:00
ModuleRules InRules ,
2015-05-08 15:19:00 -04:00
bool bInBuildSourceFiles ,
2015-09-08 07:59:23 -04:00
FileReference InRulesFile
2014-03-14 14:13:41 -04:00
)
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
: base (
2015-09-24 12:37:21 -04:00
InName ,
2014-03-14 14:13:41 -04:00
InType ,
InModuleDirectory ,
2015-08-28 08:39:42 -04:00
InRules ,
2015-09-08 07:59:23 -04:00
InRulesFile
2014-03-14 14:13:41 -04:00
)
{
2015-04-20 18:05:25 -04:00
GeneratedCodeDirectory = InGeneratedCodeDirectory ;
2014-03-14 14:13:41 -04:00
IntelliSenseGatherer = InIntelliSenseGatherer ;
2014-04-23 20:18:55 -04:00
2015-05-14 08:05:11 -04:00
CategorizeSourceFiles ( InSourceFiles , SourceFilesFound ) ;
2014-05-29 16:51:44 -04:00
if ( bInBuildSourceFiles )
2014-04-23 20:18:55 -04:00
{
2015-05-14 08:05:11 -04:00
SourceFilesToBuild . CopyFrom ( SourceFilesFound ) ;
2014-04-23 20:18:55 -04:00
}
2015-08-28 08:39:42 -04:00
Definitions = HashSetFromOptionalEnumerableStringParameter ( InRules . Definitions ) ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( string Def in Definitions )
2014-03-14 14:13:41 -04:00
{
Log . TraceVerbose ( "Compile Env {0}: {1}" , Name , Def ) ;
}
}
// UEBuildModule interface.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public override List < FileItem > Compile ( UEBuildTarget Target , UEToolChain ToolChain , CPPEnvironment GlobalCompileEnvironment , CPPEnvironment CompileEnvironment )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UEBuildPlatform BuildPlatform = UEBuildPlatform . GetBuildPlatformForCPPTargetPlatform ( CompileEnvironment . Config . Target . Platform ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileItem > LinkInputFiles = new List < FileItem > ( ) ;
2015-09-24 12:37:21 -04:00
if ( ProjectFileGenerator . bGenerateProjectFiles & & IntelliSenseGatherer = = null )
2014-03-14 14:13:41 -04:00
{
// Nothing to do for IntelliSense, bail out early
return LinkInputFiles ;
}
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment ModuleCompileEnvironment = CreateModuleCompileEnvironment ( Target , CompileEnvironment ) ;
2014-12-04 05:35:51 -05:00
IncludeSearchPaths = ModuleCompileEnvironment . Config . CPPIncludeInfo . IncludePaths . ToList ( ) ;
IncludeSearchPaths . AddRange ( ModuleCompileEnvironment . Config . CPPIncludeInfo . SystemIncludePaths . ToList ( ) ) ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( IntelliSenseGatherer ! = null )
2014-03-14 14:13:41 -04:00
{
// Update project file's set of preprocessor definitions and include paths
2015-09-24 12:37:21 -04:00
IntelliSenseGatherer . AddIntelliSensePreprocessorDefinitions ( ModuleCompileEnvironment . Config . Definitions ) ;
IntelliSenseGatherer . AddInteliiSenseIncludePaths ( ModuleCompileEnvironment . Config . CPPIncludeInfo . SystemIncludePaths , bAddingSystemIncludes : true ) ;
IntelliSenseGatherer . AddInteliiSenseIncludePaths ( ModuleCompileEnvironment . Config . CPPIncludeInfo . IncludePaths , bAddingSystemIncludes : false ) ;
2014-03-14 14:13:41 -04:00
// Bail out. We don't need to actually compile anything while generating project files.
return LinkInputFiles ;
}
2014-04-23 20:18:55 -04:00
// Throw an error if the module's source file list referenced any non-existent files.
2014-05-29 16:51:44 -04:00
if ( SourceFilesToBuild . MissingFiles . Count > 0 )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
throw new BuildException (
"UBT ERROR: Module \"{0}\" references non-existent files:\n{1} (perhaps a file was added to the project but not checked in)" ,
Name ,
2014-05-29 16:51:44 -04:00
string . Join ( "\n" , SourceFilesToBuild . MissingFiles . Select ( M = > M . AbsolutePath ) )
2014-04-23 20:18:55 -04:00
) ;
2014-03-14 14:13:41 -04:00
}
// For an executable or a static library do not use the default RC file -
// If the executable wants it, it will be in their source list anyway.
// The issue here is that when making a monolithic game, the processing
// of the other game modules will stomp the game-specific rc file.
if ( Binary . Config . Type = = UEBuildBinaryType . DynamicLinkLibrary )
{
// Add default PCLaunch.rc file if this module has no own resource file specified
2014-05-29 16:51:44 -04:00
if ( SourceFilesToBuild . RCFiles . Count < = 0 )
2014-03-14 14:13:41 -04:00
{
2015-09-03 08:47:24 -04:00
FileReference DefRC = FileReference . Combine ( UnrealBuildTool . EngineSourceDirectory , "Runtime" , "Launch" , "Resources" , "Windows" , "PCLaunch.rc" ) ;
FileItem Item = FileItem . GetItemByFileReference ( DefRC ) ;
2014-05-29 16:51:44 -04:00
SourceFilesToBuild . RCFiles . Add ( Item ) ;
2014-03-14 14:13:41 -04:00
}
2014-06-20 13:02:34 -04:00
// Always compile in the API version resource separately. This is required for the module manager to detect compatible API versions.
2015-09-03 08:47:24 -04:00
FileReference ModuleVersionRC = FileReference . Combine ( UnrealBuildTool . EngineSourceDirectory , "Runtime" , "Core" , "Resources" , "Windows" , "ModuleVersionResource.rc.inl" ) ;
FileItem ModuleVersionItem = FileItem . GetItemByFileReference ( ModuleVersionRC ) ;
2015-09-24 12:37:21 -04:00
if ( ! SourceFilesToBuild . RCFiles . Contains ( ModuleVersionItem ) )
2014-07-31 09:34:11 -04:00
{
SourceFilesToBuild . RCFiles . Add ( ModuleVersionItem ) ;
}
2014-03-14 14:13:41 -04:00
}
2014-07-31 09:34:11 -04:00
2015-09-24 12:37:21 -04:00
{
2014-07-31 09:34:11 -04:00
// Process all of the header file dependencies for this module
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
this . CachePCHUsageForModuleSourceFiles ( Target , ModuleCompileEnvironment ) ;
2014-07-31 09:34:11 -04:00
// Make sure our RC files have cached includes.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem RCFile in SourceFilesToBuild . RCFiles )
2015-09-24 12:37:21 -04:00
{
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
RCFile . CachedCPPIncludeInfo = ModuleCompileEnvironment . Config . CPPIncludeInfo ;
2014-07-31 09:34:11 -04:00
}
}
2014-03-14 14:13:41 -04:00
// Check to see if this is an Engine module (including program or plugin modules). That is, the module is located under the "Engine" folder
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
bool IsPluginModule = ModuleDirectory . IsUnderDirectory ( DirectoryReference . Combine ( Target . ProjectDirectory , "Plugins" ) ) ;
bool IsGameModule = ! IsPluginModule & & ! ModuleDirectory . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) ;
2014-03-14 14:13:41 -04:00
// Should we force a precompiled header to be generated for this module? Usually, we only bother with a
// precompiled header if there are at least several source files in the module (after combining them for unity
// builds.) But for game modules, it can be convenient to always have a precompiled header to single-file
// changes to code is really quick to compile.
int MinFilesUsingPrecompiledHeader = BuildConfiguration . MinFilesUsingPrecompiledHeader ;
2015-09-24 12:37:21 -04:00
if ( Rules . MinFilesUsingPrecompiledHeaderOverride ! = 0 )
2014-03-14 14:13:41 -04:00
{
2015-08-28 08:39:42 -04:00
MinFilesUsingPrecompiledHeader = Rules . MinFilesUsingPrecompiledHeaderOverride ;
2014-03-14 14:13:41 -04:00
}
2015-09-24 12:37:21 -04:00
else if ( IsGameModule & & BuildConfiguration . bForcePrecompiledHeaderForGameModules )
2014-03-14 14:13:41 -04:00
{
// This is a game module with only a small number of source files, so go ahead and force a precompiled header
// to be generated to make incremental changes to source files as fast as possible for small projects.
MinFilesUsingPrecompiledHeader = 1 ;
}
2015-08-07 13:58:49 -04:00
// Engine modules will always use unity build mode unless MinSourceFilesForUnityBuildOverride is specified in
// the module rules file. By default, game modules only use unity of they have enough source files for that
// to be worthwhile. If you have a lot of small game modules, consider specifying MinSourceFilesForUnityBuildOverride=0
// in the modules that you don't typically iterate on source files in very frequently.
int MinSourceFilesForUnityBuild = 0 ;
2015-08-28 08:39:42 -04:00
if ( Rules . MinSourceFilesForUnityBuildOverride ! = 0 )
2014-03-14 14:13:41 -04:00
{
2015-08-28 08:39:42 -04:00
MinSourceFilesForUnityBuild = Rules . MinSourceFilesForUnityBuildOverride ;
2015-08-07 13:58:49 -04:00
}
2015-09-24 12:37:21 -04:00
else if ( IsGameModule )
2015-08-07 13:58:49 -04:00
{
// Game modules with only a small number of source files are usually better off having faster iteration times
// on single source file changes, so we forcibly disable unity build for those modules
MinSourceFilesForUnityBuild = BuildConfiguration . MinGameModuleSourceFilesForUnityBuild ;
}
// Should we use unity build mode for this module?
bool bModuleUsesUnityBuild = false ;
if ( BuildConfiguration . bUseUnityBuild | | BuildConfiguration . bForceUnityBuild )
{
if ( BuildConfiguration . bForceUnityBuild )
2014-11-04 05:27:19 -05:00
{
2015-08-07 13:58:49 -04:00
Log . TraceVerbose ( "Module '{0}' using unity build mode (bForceUnityBuild enabled for this module)" , this . Name ) ;
bModuleUsesUnityBuild = true ;
}
2015-08-28 08:39:42 -04:00
else if ( Rules . bFasterWithoutUnity )
2015-08-07 13:58:49 -04:00
{
Log . TraceVerbose ( "Module '{0}' not using unity build mode (bFasterWithoutUnity enabled for this module)" , this . Name ) ;
2014-11-04 05:27:19 -05:00
bModuleUsesUnityBuild = false ;
}
2015-08-07 13:58:49 -04:00
else if ( SourceFilesToBuild . CPPFiles . Count < MinSourceFilesForUnityBuild )
2014-11-04 05:27:19 -05:00
{
2015-08-07 13:58:49 -04:00
Log . TraceVerbose ( "Module '{0}' not using unity build mode (module with fewer than {1} source files)" , this . Name , MinSourceFilesForUnityBuild ) ;
2014-11-04 05:27:19 -05:00
bModuleUsesUnityBuild = false ;
}
2015-08-07 13:58:49 -04:00
else
{
Log . TraceVerbose ( "Module '{0}' using unity build mode (enabled in BuildConfiguration)" , this . Name ) ;
bModuleUsesUnityBuild = true ;
}
}
else
{
Log . TraceVerbose ( "Module '{0}' not using unity build mode (disabled in BuildConfiguration)" , this . Name ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-24 15:04:34 -04:00
// The environment with which to compile the CPP files
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment CPPCompileEnvironment = ModuleCompileEnvironment ;
2014-04-24 15:04:34 -04:00
2014-03-14 14:13:41 -04:00
// Precompiled header support.
bool bWasModuleCodeCompiled = false ;
2014-06-09 11:12:01 -04:00
if ( BuildPlatform . ShouldUsePCHFiles ( CompileEnvironment . Config . Target . Platform , CompileEnvironment . Config . Target . Configuration ) )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
DateTime PCHGenTimerStart = DateTime . UtcNow ;
2014-03-14 14:13:41 -04:00
// The code below will figure out whether this module will either use a "unique PCH" (private PCH that will only be included by
// this module's code files), or a "shared PCH" (potentially included by many code files in many modules.) Only one or the other
// will be used.
FileItem SharedPCHHeaderFile = null ;
// In the case of a shared PCH, we also need to keep track of which module that PCH's header file is a member of
string SharedPCHModuleName = String . Empty ;
2015-09-24 12:37:21 -04:00
if ( BuildConfiguration . bUseSharedPCHs & & CompileEnvironment . Config . bIsBuildingLibrary )
2014-03-14 14:13:41 -04:00
{
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "Module '{0}' was not allowed to use Shared PCHs, because we're compiling to a library" , this . Name ) ;
2014-03-14 14:13:41 -04:00
}
2015-09-24 12:37:21 -04:00
bool bUseSharedPCHFiles = BuildConfiguration . bUseSharedPCHs & & ! CompileEnvironment . Config . bIsBuildingLibrary & & GlobalCompileEnvironment . SharedPCHHeaderFiles . Count > 0 ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( bUseSharedPCHFiles )
2014-07-16 12:13:57 -04:00
{
2015-09-03 08:47:24 -04:00
FileReference SharingPCHHeaderFilePath = null ;
2015-09-24 12:37:21 -04:00
bool bIsASharedPCHModule = bUseSharedPCHFiles & & GlobalCompileEnvironment . SharedPCHHeaderFiles . Any ( PCH = > PCH . Module = = this ) ;
if ( bIsASharedPCHModule )
2014-06-04 08:05:42 -04:00
{
2015-09-24 12:37:21 -04:00
SharingPCHHeaderFilePath = FileReference . Combine ( UnrealBuildTool . EngineSourceDirectory , Rules . SharedPCHHeaderFile ) ;
2014-06-04 08:05:42 -04:00
}
2014-07-16 12:13:57 -04:00
2015-04-10 11:19:40 -04:00
// We can't use a shared PCH file when compiling a module
2014-07-31 09:34:11 -04:00
// with exports, because the shared PCH can only have imports in it to work correctly.
2015-09-24 12:37:21 -04:00
bool bAllowSharedPCH = ( Rules . PCHUsage = = ModuleRules . PCHUsageMode . NoSharedPCHs ) ? false : true ;
2015-09-03 08:47:24 -04:00
bool bCanModuleUseOwnSharedPCH = bAllowSharedPCH & & bIsASharedPCHModule & & ! Binary . Config . bAllowExports & & ProcessedDependencies . UniquePCHHeaderFile . Reference = = SharingPCHHeaderFilePath ;
2015-09-24 12:37:21 -04:00
if ( bAllowSharedPCH & & ( ! bIsASharedPCHModule | | bCanModuleUseOwnSharedPCH ) )
2014-07-16 12:13:57 -04:00
{
2014-07-31 09:34:11 -04:00
// Figure out which shared PCH tier we're in
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < UEBuildModule > ReferencedModules = new List < UEBuildModule > ( ) ;
2015-06-09 11:50:55 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
this . GetAllDependencyModules ( ReferencedModules , new HashSet < UEBuildModule > ( ) , bIncludeDynamicallyLoaded : false , bForceCircular : false , bOnlyDirectDependencies : true ) ;
2014-07-31 09:34:11 -04:00
}
2014-07-16 12:13:57 -04:00
2014-07-31 09:34:11 -04:00
int LargestSharedPCHHeaderFileIndex = - 1 ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( UEBuildModule DependencyModule in ReferencedModules )
2014-03-14 14:13:41 -04:00
{
2014-07-31 09:34:11 -04:00
// These Shared PCHs are ordered from least complex to most complex. We'll start at the last one and search backwards.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
for ( int SharedPCHHeaderFileIndex = GlobalCompileEnvironment . SharedPCHHeaderFiles . Count - 1 ; SharedPCHHeaderFileIndex > LargestSharedPCHHeaderFileIndex ; - - SharedPCHHeaderFileIndex )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
SharedPCHHeaderInfo CurSharedPCHHeaderFile = GlobalCompileEnvironment . SharedPCHHeaderFiles [ SharedPCHHeaderFileIndex ] ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( DependencyModule = = CurSharedPCHHeaderFile . Module | |
( bIsASharedPCHModule & & CurSharedPCHHeaderFile . Module = = this ) ) // If we ourselves are a shared PCH module, always at least use our own module as our shared PCH header if we can't find anything better
2014-07-31 09:34:11 -04:00
{
SharedPCHModuleName = CurSharedPCHHeaderFile . Module . Name ;
SharedPCHHeaderFile = CurSharedPCHHeaderFile . PCHHeaderFile ;
LargestSharedPCHHeaderFileIndex = SharedPCHHeaderFileIndex ;
break ;
2014-03-14 14:13:41 -04:00
}
}
2015-09-24 12:37:21 -04:00
if ( LargestSharedPCHHeaderFileIndex = = GlobalCompileEnvironment . SharedPCHHeaderFiles . Count - 1 )
2014-03-14 14:13:41 -04:00
{
2014-07-31 09:34:11 -04:00
// We've determined that the module is using our most complex PCH header, so we can early-out
break ;
2014-03-14 14:13:41 -04:00
}
}
2014-07-31 09:34:11 -04:00
// Did we not find a shared PCH header that is being included by this module? This could happen if the module is not including Core.h, even indirectly.
2015-09-24 12:37:21 -04:00
if ( String . IsNullOrEmpty ( SharedPCHModuleName ) )
2014-03-14 14:13:41 -04:00
{
2015-09-24 12:37:21 -04:00
throw new BuildException ( "Module {0} doesn't use a Shared PCH! Please add a dependency on a Shared PCH module to this module's dependency list" , this . Name ) ;
2014-03-14 14:13:41 -04:00
}
2014-12-17 09:40:26 -05:00
// Keep track of how many modules make use of this PCH for performance diagnostics
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
SharedPCHHeaderInfo LargestSharedPCHHeader = GlobalCompileEnvironment . SharedPCHHeaderFiles [ LargestSharedPCHHeaderFileIndex ] ;
2014-12-17 09:40:26 -05:00
+ + LargestSharedPCHHeader . NumModulesUsingThisPCH ;
2016-06-13 08:26:07 -04:00
// Don't allow game modules to use engine PCHs in DebugGame - the optimization settings aren't correct.
// @todo: we should be creating shared PCHs ahead of time, and only using them if our settings match. as it is, the first modules compiled
// (which are currently plugins) get to call the shots for how the shared PCH gets built, and that might be a game plugin built in debug...
if ( Target . Configuration = = UnrealTargetConfiguration . DebugGame & & SharedPCHHeaderFile . Reference . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) & & ! RulesFile . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) )
{
SharedPCHModuleName = null ;
SharedPCHHeaderFile = null ;
}
2014-03-14 14:13:41 -04:00
}
2014-07-31 09:34:11 -04:00
else
2014-03-14 14:13:41 -04:00
{
2014-07-31 09:34:11 -04:00
Log . TraceVerbose ( "Module '{0}' cannot create or use Shared PCHs, because it needs its own private PCH" , this . Name ) ;
2014-03-14 14:13:41 -04:00
}
}
2014-04-23 20:18:55 -04:00
// The precompiled header environment for all source files in this module that use a precompiled header, if we even need one
PrecompileHeaderEnvironment ModulePCHEnvironment = null ;
2014-03-14 14:13:41 -04:00
// If there was one header that was included first by enough C++ files, use it as the precompiled header.
// Only use precompiled headers for projects with enough files to make the PCH creation worthwhile.
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null | | SourceFilesToBuild . CPPFiles . Count > = MinFilesUsingPrecompiledHeader )
2014-03-14 14:13:41 -04:00
{
2014-04-24 15:04:34 -04:00
FileItem PCHToUse ;
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null )
2014-03-14 14:13:41 -04:00
{
2014-05-29 16:51:44 -04:00
ModulePCHEnvironment = ApplySharedPCH ( GlobalCompileEnvironment , CompileEnvironment , ModuleCompileEnvironment , SourceFilesToBuild . CPPFiles , ref SharedPCHHeaderFile ) ;
2014-04-23 20:18:55 -04:00
if ( ModulePCHEnvironment ! = null )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
// @todo SharedPCH: Ideally we would exhaustively check for a compatible compile environment (definitions, imports/exports, etc)
// Currently, it's possible for the shared PCH to be compiled differently depending on which module UBT happened to have
2014-07-31 09:34:11 -04:00
// include it first during the build phase. This could create problems with deterministic builds, or turn up compile
2014-04-23 20:18:55 -04:00
// errors unexpectedly due to compile environment differences.
2014-07-16 12:13:57 -04:00
Log . TraceVerbose ( "Module " + Name + " uses existing Shared PCH '" + ModulePCHEnvironment . PrecompiledHeaderIncludeFilename + "' (from module " + ModulePCHEnvironment . ModuleName + ")" ) ;
2014-04-23 20:18:55 -04:00
}
2014-04-24 15:04:34 -04:00
PCHToUse = SharedPCHHeaderFile ;
}
else
{
PCHToUse = ProcessedDependencies . UniquePCHHeaderFile ;
}
if ( PCHToUse ! = null )
{
// Update all CPPFiles to point to the PCH
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem CPPFile in SourceFilesToBuild . CPPFiles )
2014-04-23 20:18:55 -04:00
{
2015-09-24 12:37:21 -04:00
CPPFile . PCHHeaderNameInCode = PCHToUse . AbsolutePath ;
2015-09-03 08:47:24 -04:00
CPPFile . PrecompiledHeaderIncludeFilename = PCHToUse . Reference ;
2014-03-14 14:13:41 -04:00
}
}
// A shared PCH was not already set up for us, so set one up.
2016-03-11 09:55:03 -05:00
if ( ModulePCHEnvironment = = null & & SourceFilesToBuild . CPPFiles . Count > 0 )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
FileItem PCHHeaderFile = ProcessedDependencies . UniquePCHHeaderFile ;
string PCHModuleName = this . Name ;
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null )
2014-03-14 14:13:41 -04:00
{
PCHHeaderFile = SharedPCHHeaderFile ;
PCHModuleName = SharedPCHModuleName ;
}
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string PCHHeaderNameInCode = SourceFilesToBuild . CPPFiles [ 0 ] . PCHHeaderNameInCode ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
ModulePCHEnvironment = new PrecompileHeaderEnvironment ( PCHModuleName , PCHHeaderNameInCode , PCHHeaderFile , ModuleCompileEnvironment . Config . CLRMode , ModuleCompileEnvironment . Config . OptimizeCode ) ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null )
2014-03-14 14:13:41 -04:00
{
// Add to list of shared PCH environments
2015-09-24 12:37:21 -04:00
GlobalCompileEnvironment . SharedPCHEnvironments . Add ( ModulePCHEnvironment ) ;
Log . TraceVerbose ( "Module " + Name + " uses new Shared PCH '" + ModulePCHEnvironment . PrecompiledHeaderIncludeFilename + "'" ) ;
2014-03-14 14:13:41 -04:00
}
else
{
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "Module " + Name + " uses a Unique PCH '" + ModulePCHEnvironment . PrecompiledHeaderIncludeFilename + "'" ) ;
2014-03-14 14:13:41 -04:00
}
}
}
2014-07-16 12:13:57 -04:00
else
{
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "Module " + Name + " doesn't use a Shared PCH, and only has " + SourceFilesToBuild . CPPFiles . Count . ToString ( ) + " source file(s). No Unique PCH will be generated." ) ;
2014-07-16 12:13:57 -04:00
}
2014-03-14 14:13:41 -04:00
// Compile the C++ source or the unity C++ files that use a PCH environment.
2015-09-24 12:37:21 -04:00
if ( ModulePCHEnvironment ! = null )
2014-03-14 14:13:41 -04:00
{
// Setup a new compile environment for this module's source files. It's pretty much the exact same as the
// module's compile environment, except that it will include a PCH file.
2014-05-22 04:16:41 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment ModulePCHCompileEnvironment = ModuleCompileEnvironment . DeepCopy ( ) ;
2015-09-24 12:37:21 -04:00
ModulePCHCompileEnvironment . Config . PrecompiledHeaderAction = PrecompiledHeaderAction . Include ;
2015-09-03 08:47:24 -04:00
ModulePCHCompileEnvironment . Config . PrecompiledHeaderIncludeFilename = ModulePCHEnvironment . PrecompiledHeaderIncludeFilename . Reference ;
2015-09-24 12:37:21 -04:00
ModulePCHCompileEnvironment . Config . PCHHeaderNameInCode = ModulePCHEnvironment . PCHHeaderNameInCode ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null )
2014-04-23 20:18:55 -04:00
{
// Shared PCH headers need to be force included, because we're basically forcing the module to use
// the precompiled header that we want, instead of the "first include" in each respective .cpp file
ModulePCHCompileEnvironment . Config . bForceIncludePrecompiledHeader = true ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileItem > CPPFilesToBuild = SourceFilesToBuild . CPPFiles ;
2014-03-14 14:13:41 -04:00
if ( bModuleUsesUnityBuild )
{
// unity files generated for only the set of files which share the same PCH environment
2015-09-24 12:37:21 -04:00
CPPFilesToBuild = Unity . GenerateUnityCPPs ( ToolChain , Target , CPPFilesToBuild , ModulePCHCompileEnvironment , Name ) ;
2014-03-14 14:13:41 -04:00
}
// Check if there are enough unity files to warrant pch generation (and we haven't already generated the shared one)
2015-09-24 12:37:21 -04:00
if ( ModulePCHEnvironment . PrecompiledHeaderFile = = null )
2014-03-14 14:13:41 -04:00
{
2015-09-24 12:37:21 -04:00
if ( SharedPCHHeaderFile ! = null | | CPPFilesToBuild . Count > = MinFilesUsingPrecompiledHeader )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
CPPOutput PCHOutput ;
2015-05-13 07:52:34 -04:00
if ( SharedPCHHeaderFile = = null )
2014-07-16 12:13:57 -04:00
{
2015-09-24 12:37:21 -04:00
PCHOutput = PrecompileHeaderEnvironment . GeneratePCHCreationAction (
2015-09-24 08:08:38 -04:00
ToolChain ,
2015-05-13 07:52:34 -04:00
Target ,
CPPFilesToBuild [ 0 ] . PCHHeaderNameInCode ,
ModulePCHEnvironment . PrecompiledHeaderIncludeFilename ,
2015-09-24 12:37:21 -04:00
ModuleCompileEnvironment ,
2015-05-13 07:52:34 -04:00
ModuleCompileEnvironment . Config . OutputDirectory ,
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
ModuleCompileEnvironment . Config . PCHOutputDirectory ,
2015-09-24 12:37:21 -04:00
Name ,
true ) ;
2015-05-13 07:52:34 -04:00
}
else
{
UEBuildModuleCPP SharedPCHModule = ( UEBuildModuleCPP ) Target . FindOrCreateModuleByName ( SharedPCHModuleName ) ;
2014-03-14 14:13:41 -04:00
2015-05-13 07:52:34 -04:00
CPPEnvironment SharedPCHCompileEnvironment = GlobalCompileEnvironment . DeepCopy ( ) ;
2015-08-28 08:39:42 -04:00
SharedPCHCompileEnvironment . Config . bEnableShadowVariableWarning = SharedPCHModule . Rules . bEnableShadowVariableWarnings ;
2014-03-14 14:13:41 -04:00
2016-03-17 11:10:14 -04:00
List < UEBuildModule > Modules = new List < UEBuildModule > ( ) ;
Dictionary < UEBuildModule , bool > ModuleToIncludePathsOnlyFlag = new Dictionary < UEBuildModule , bool > ( ) ;
SharedPCHModule . FindModulesInPublicCompileEnvironment ( Modules , ModuleToIncludePathsOnlyFlag ) ;
foreach ( UEBuildModule Module in Modules )
{
Module . AddModuleToCompileEnvironment (
Binary ,
ModuleToIncludePathsOnlyFlag [ Module ] ,
SharedPCHCompileEnvironment . Config . CPPIncludeInfo . IncludePaths ,
SharedPCHCompileEnvironment . Config . CPPIncludeInfo . SystemIncludePaths ,
SharedPCHCompileEnvironment . Config . Definitions ,
SharedPCHCompileEnvironment . Config . AdditionalFrameworks ) ;
}
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
2015-09-24 12:37:21 -04:00
PCHOutput = PrecompileHeaderEnvironment . GeneratePCHCreationAction (
2015-09-24 08:08:38 -04:00
ToolChain ,
2015-05-13 07:52:34 -04:00
Target ,
CPPFilesToBuild [ 0 ] . PCHHeaderNameInCode ,
ModulePCHEnvironment . PrecompiledHeaderIncludeFilename ,
SharedPCHCompileEnvironment ,
2015-09-24 12:37:21 -04:00
DirectoryReference . Combine ( CompileEnvironment . Config . OutputDirectory , "SharedPCHs" ) ,
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
( CompileEnvironment . Config . PCHOutputDirectory = = null ) ? null : DirectoryReference . Combine ( CompileEnvironment . Config . PCHOutputDirectory , "SharedPCHs" ) ,
2015-09-24 12:37:21 -04:00
"Shared" ,
false ) ;
2014-07-16 12:13:57 -04:00
}
ModulePCHEnvironment . PrecompiledHeaderFile = PCHOutput . PrecompiledHeaderFile ;
2015-09-24 12:37:21 -04:00
2014-07-16 12:13:57 -04:00
ModulePCHEnvironment . OutputObjectFiles . Clear ( ) ;
2015-09-24 12:37:21 -04:00
ModulePCHEnvironment . OutputObjectFiles . AddRange ( PCHOutput . ObjectFiles ) ;
2014-07-16 12:13:57 -04:00
}
2015-09-24 12:37:21 -04:00
else if ( CPPFilesToBuild . Count < MinFilesUsingPrecompiledHeader )
2014-07-16 12:13:57 -04:00
{
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "Module " + Name + " doesn't use a Shared PCH, and only has " + CPPFilesToBuild . Count . ToString ( ) + " unity source file(s). No Unique PCH will be generated." ) ;
2014-07-16 12:13:57 -04:00
}
2014-03-14 14:13:41 -04:00
}
2015-09-24 12:37:21 -04:00
if ( ModulePCHEnvironment . PrecompiledHeaderFile ! = null )
2014-03-14 14:13:41 -04:00
{
// Link in the object files produced by creating the precompiled header.
2015-09-24 12:37:21 -04:00
LinkInputFiles . AddRange ( ModulePCHEnvironment . OutputObjectFiles ) ;
2014-03-14 14:13:41 -04:00
// if pch action was generated for the environment then use pch
ModulePCHCompileEnvironment . PrecompiledHeaderFile = ModulePCHEnvironment . PrecompiledHeaderFile ;
2014-04-24 15:04:34 -04:00
// Use this compile environment from now on
CPPCompileEnvironment = ModulePCHCompileEnvironment ;
2014-03-14 14:13:41 -04:00
}
2014-04-24 15:04:34 -04:00
2015-09-24 12:37:21 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , CPPFilesToBuild , Name ) . ObjectFiles ) ;
2014-03-14 14:13:41 -04:00
bWasModuleCodeCompiled = true ;
}
2015-09-24 12:37:21 -04:00
if ( BuildConfiguration . bPrintPerformanceInfo )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
double PCHGenTime = ( DateTime . UtcNow - PCHGenTimerStart ) . TotalSeconds ;
2014-07-31 09:34:11 -04:00
TotalPCHGenTime + = PCHGenTime ;
2014-03-14 14:13:41 -04:00
}
}
2015-09-24 12:37:21 -04:00
if ( ! bWasModuleCodeCompiled & & SourceFilesToBuild . CPPFiles . Count > 0 )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < FileItem > CPPFilesToCompile = SourceFilesToBuild . CPPFiles ;
2014-04-23 20:18:55 -04:00
if ( bModuleUsesUnityBuild )
2014-03-14 14:13:41 -04:00
{
2015-09-24 12:37:21 -04:00
CPPFilesToCompile = Unity . GenerateUnityCPPs ( ToolChain , Target , CPPFilesToCompile , CPPCompileEnvironment , Name ) ;
2014-03-14 14:13:41 -04:00
}
2015-09-24 12:37:21 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , CPPFilesToCompile , Name ) . ObjectFiles ) ;
2014-04-23 20:18:55 -04:00
}
2014-08-02 09:44:00 -04:00
if ( AutoGenerateCppInfo ! = null & & AutoGenerateCppInfo . BuildInfo ! = null & & ! CPPCompileEnvironment . bHackHeaderGenerator )
2014-04-23 20:18:55 -04:00
{
2014-09-22 09:46:58 -04:00
string [ ] GeneratedFiles = Directory . GetFiles ( Path . GetDirectoryName ( AutoGenerateCppInfo . BuildInfo . FileWildcard ) , Path . GetFileName ( AutoGenerateCppInfo . BuildInfo . FileWildcard ) ) ;
foreach ( string GeneratedFilename in GeneratedFiles )
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
FileItem GeneratedCppFileItem = FileItem . GetItemByPath ( GeneratedFilename ) ;
2014-04-23 20:18:55 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CachePCHUsageForModuleSourceFile ( Target , CPPCompileEnvironment , GeneratedCppFileItem ) ;
2014-07-31 09:34:11 -04:00
2015-01-07 14:16:46 -05:00
// @todo ubtmake: Check for ALL other places where we might be injecting .cpp or .rc files for compiling without caching CachedCPPIncludeInfo first (anything platform specific?)
2015-09-24 08:08:38 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , new List < FileItem > { GeneratedCppFileItem } , Name ) . ObjectFiles ) ;
2014-09-22 09:46:58 -04:00
}
2014-03-14 14:13:41 -04:00
}
// Compile C files directly.
2015-09-24 08:08:38 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , SourceFilesToBuild . CFiles , Name ) . ObjectFiles ) ;
2014-03-14 14:13:41 -04:00
// Compile CC files directly.
2015-09-24 08:08:38 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , SourceFilesToBuild . CCFiles , Name ) . ObjectFiles ) ;
2014-03-14 14:13:41 -04:00
// Compile MM files directly.
2015-09-24 08:08:38 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileCPPFiles ( Target , CPPCompileEnvironment , SourceFilesToBuild . MMFiles , Name ) . ObjectFiles ) ;
2014-03-14 14:13:41 -04:00
// Compile RC files.
2015-09-24 08:08:38 -04:00
LinkInputFiles . AddRange ( ToolChain . CompileRCFiles ( Target , CPPCompileEnvironment , SourceFilesToBuild . RCFiles ) . ObjectFiles ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 20:18:55 -04:00
return LinkInputFiles ;
}
2014-04-24 15:04:34 -04:00
private PrecompileHeaderEnvironment ApplySharedPCH ( CPPEnvironment GlobalCompileEnvironment , CPPEnvironment CompileEnvironment , CPPEnvironment ModuleCompileEnvironment , List < FileItem > CPPFiles , ref FileItem SharedPCHHeaderFile )
2014-04-23 20:18:55 -04:00
{
// Check to see if we have a PCH header already setup that we can use
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
FileItem SharedPCHHeaderFileCopy = SharedPCHHeaderFile ;
PrecompileHeaderEnvironment SharedPCHEnvironment = GlobalCompileEnvironment . SharedPCHEnvironments . Find ( Env = > Env . PrecompiledHeaderIncludeFilename = = SharedPCHHeaderFileCopy ) ;
2014-04-23 20:18:55 -04:00
if ( SharedPCHEnvironment = = null )
2015-09-24 12:37:21 -04:00
{
2014-04-23 20:18:55 -04:00
return null ;
2014-07-31 09:34:11 -04:00
}
2014-04-23 20:18:55 -04:00
// Don't mix CLR modes
if ( SharedPCHEnvironment . CLRMode ! = ModuleCompileEnvironment . Config . CLRMode )
2014-03-14 14:13:41 -04:00
{
2014-07-16 12:13:57 -04:00
Log . TraceVerbose ( "Module {0} cannot use existing Shared PCH '{1}' (from module '{2}') because CLR modes don't match" , Name , SharedPCHEnvironment . PrecompiledHeaderIncludeFilename . AbsolutePath , SharedPCHEnvironment . ModuleName ) ;
2014-04-24 15:04:34 -04:00
SharedPCHHeaderFile = null ;
2014-04-23 20:18:55 -04:00
return null ;
}
2014-12-15 11:34:00 -05:00
// Don't mix RTTI modes
2015-08-28 08:39:42 -04:00
if ( Rules . bUseRTTI )
2014-12-15 11:34:00 -05:00
{
Log . TraceVerbose ( "Module {0} cannot use existing Shared PCH '{1}' (from module '{2}') because RTTI modes don't match" , Name , SharedPCHEnvironment . PrecompiledHeaderIncludeFilename . AbsolutePath , SharedPCHEnvironment . ModuleName ) ;
SharedPCHHeaderFile = null ;
return null ;
}
2014-04-23 20:18:55 -04:00
// Don't mix non-optimized code with optimized code (PCHs won't be compatible)
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
ModuleRules . CodeOptimization SharedPCHCodeOptimization = SharedPCHEnvironment . OptimizeCode ;
ModuleRules . CodeOptimization ModuleCodeOptimization = ModuleCompileEnvironment . Config . OptimizeCode ;
2014-04-23 20:18:55 -04:00
2014-06-09 11:12:01 -04:00
if ( CompileEnvironment . Config . Target . Configuration ! = CPPTargetConfiguration . Debug )
2014-04-23 20:18:55 -04:00
{
if ( SharedPCHCodeOptimization = = ModuleRules . CodeOptimization . InNonDebugBuilds )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
SharedPCHCodeOptimization = ModuleRules . CodeOptimization . Always ;
}
2014-03-14 14:13:41 -04:00
2014-04-23 20:18:55 -04:00
if ( ModuleCodeOptimization = = ModuleRules . CodeOptimization . InNonDebugBuilds )
{
ModuleCodeOptimization = ModuleRules . CodeOptimization . Always ;
2014-03-14 14:13:41 -04:00
}
}
2014-04-23 20:18:55 -04:00
if ( SharedPCHCodeOptimization ! = ModuleCodeOptimization )
{
2014-07-16 12:13:57 -04:00
Log . TraceVerbose ( "Module {0} cannot use existing Shared PCH '{1}' (from module '{2}') because optimization levels don't match" , Name , SharedPCHEnvironment . PrecompiledHeaderIncludeFilename . AbsolutePath , SharedPCHEnvironment . ModuleName ) ;
2014-04-24 15:04:34 -04:00
SharedPCHHeaderFile = null ;
2014-04-23 20:18:55 -04:00
return null ;
}
return SharedPCHEnvironment ;
}
2014-07-31 09:34:11 -04:00
public static FileItem CachePCHUsageForModuleSourceFile ( UEBuildTarget Target , CPPEnvironment ModuleCompileEnvironment , FileItem CPPFile )
{
2015-09-24 12:37:21 -04:00
if ( ! CPPFile . bExists )
2014-08-19 08:19:14 -04:00
{
2015-09-24 12:37:21 -04:00
throw new BuildException ( "Required source file not found: " + CPPFile . AbsolutePath ) ;
2014-08-19 08:19:14 -04:00
}
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
DateTime PCHCacheTimerStart = DateTime . UtcNow ;
2014-07-31 09:34:11 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UEBuildPlatform BuildPlatform = UEBuildPlatform . GetBuildPlatformForCPPTargetPlatform ( ModuleCompileEnvironment . Config . Target . Platform ) ;
List < string > IncludePathsToSearch = ModuleCompileEnvironment . Config . CPPIncludeInfo . GetIncludesPathsToSearch ( CPPFile ) ;
2014-07-31 09:34:11 -04:00
// Store the module compile environment along with the .cpp file. This is so that we can use it later on when looking
// for header dependencies
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
CPPFile . CachedCPPIncludeInfo = ModuleCompileEnvironment . Config . CPPIncludeInfo ;
2014-07-31 09:34:11 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
FileItem PCHFile = CachePCHUsageForCPPFile ( Target , CPPFile , BuildPlatform , IncludePathsToSearch , ModuleCompileEnvironment . Config . CPPIncludeInfo . IncludeFileSearchDictionary ) ;
2014-07-31 09:34:11 -04:00
2015-09-24 12:37:21 -04:00
if ( BuildConfiguration . bPrintPerformanceInfo )
2014-07-31 09:34:11 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
double PCHCacheTime = ( DateTime . UtcNow - PCHCacheTimerStart ) . TotalSeconds ;
2014-07-31 09:34:11 -04:00
TotalPCHCacheTime + = PCHCacheTime ;
}
2015-09-24 12:37:21 -04:00
2014-07-31 09:34:11 -04:00
return PCHFile ;
}
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public void CachePCHUsageForModuleSourceFiles ( UEBuildTarget Target , CPPEnvironment ModuleCompileEnvironment )
2014-04-23 20:18:55 -04:00
{
2015-09-24 12:37:21 -04:00
if ( ProcessedDependencies = = null )
2014-04-23 20:18:55 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
DateTime PCHCacheTimerStart = DateTime . UtcNow ;
2014-07-31 09:34:11 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UEBuildPlatform BuildPlatform = UEBuildPlatform . GetBuildPlatformForCPPTargetPlatform ( ModuleCompileEnvironment . Config . Target . Platform ) ;
2014-07-31 09:34:11 -04:00
bool bFoundAProblemWithPCHs = false ;
2014-07-18 14:20:08 -04:00
FileItem UniquePCH = null ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem CPPFile in SourceFilesFound . CPPFiles ) // @todo ubtmake: We're not caching CPPEnvironments for .c/.mm files, etc. Even though they don't use PCHs, they still have #includes! This can break dependency checking!
2014-07-18 14:20:08 -04:00
{
2014-07-31 09:34:11 -04:00
// Build a single list of include paths to search.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
List < string > IncludePathsToSearch = ModuleCompileEnvironment . Config . CPPIncludeInfo . GetIncludesPathsToSearch ( CPPFile ) ;
2014-07-31 09:34:11 -04:00
// Store the module compile environment along with the .cpp file. This is so that we can use it later on when looking
// for header dependencies
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
CPPFile . CachedCPPIncludeInfo = ModuleCompileEnvironment . Config . CPPIncludeInfo ;
2014-07-31 09:34:11 -04:00
2014-07-18 14:20:08 -04:00
// Find headers used by the source file.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
FileItem PCH = UEBuildModuleCPP . CachePCHUsageForCPPFile ( Target , CPPFile , BuildPlatform , IncludePathsToSearch , ModuleCompileEnvironment . Config . CPPIncludeInfo . IncludeFileSearchDictionary ) ;
2015-09-24 12:37:21 -04:00
if ( PCH = = null )
2014-07-31 09:34:11 -04:00
{
2015-09-24 12:37:21 -04:00
throw new BuildException ( "Source file \"{0}\" is not including any headers. We expect all modules to include a header file for precompiled header generation. Please add an #include statement." , CPPFile . AbsolutePath ) ;
2014-07-31 09:34:11 -04:00
}
2015-09-24 12:37:21 -04:00
if ( UniquePCH = = null )
2014-07-31 09:34:11 -04:00
{
UniquePCH = PCH ;
}
2015-09-24 12:37:21 -04:00
else if ( ! UniquePCH . Info . Name . Equals ( PCH . Info . Name , StringComparison . InvariantCultureIgnoreCase ) ) // @todo ubtmake: We do a string compare on the file name (not path) here, because sometimes the include resolver will pick an Intermediate copy of a PCH header file and throw off our comparisons
2014-07-31 09:34:11 -04:00
{
// OK, looks like we have multiple source files including a different header file first. We'll keep track of this and print out
// helpful information afterwards.
bFoundAProblemWithPCHs = true ;
}
2014-07-18 14:20:08 -04:00
}
2014-04-23 20:18:55 -04:00
2015-09-24 12:37:21 -04:00
ProcessedDependencies = new ProcessedDependenciesClass { UniquePCHHeaderFile = UniquePCH } ;
2014-07-31 09:34:11 -04:00
2015-09-24 12:37:21 -04:00
if ( bFoundAProblemWithPCHs )
2014-07-31 09:34:11 -04:00
{
// Map from pch header string to the source files that use that PCH
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
Dictionary < FileReference , List < FileItem > > UsageMapPCH = new Dictionary < FileReference , List < FileItem > > ( ) ;
foreach ( FileItem CPPFile in SourceFilesToBuild . CPPFiles )
2014-07-31 09:34:11 -04:00
{
// Create a new entry if not in the pch usage map
2015-09-24 12:37:21 -04:00
UsageMapPCH . GetOrAddNew ( CPPFile . PrecompiledHeaderIncludeFilename ) . Add ( CPPFile ) ;
2014-07-31 09:34:11 -04:00
}
2015-09-24 12:37:21 -04:00
if ( BuildConfiguration . bPrintDebugInfo )
2014-07-31 09:34:11 -04:00
{
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "{0} PCH files for module {1}:" , UsageMapPCH . Count , Name ) ;
2014-07-31 09:34:11 -04:00
int MostFilesIncluded = 0 ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( KeyValuePair < FileReference , List < FileItem > > CurPCH in UsageMapPCH )
2014-07-31 09:34:11 -04:00
{
2015-09-24 12:37:21 -04:00
if ( CurPCH . Value . Count > MostFilesIncluded )
2014-07-31 09:34:11 -04:00
{
MostFilesIncluded = CurPCH . Value . Count ;
}
Log . TraceVerbose ( " {0} ({1} files including it: {2}, ...)" , CurPCH . Key , CurPCH . Value . Count , CurPCH . Value [ 0 ] . AbsolutePath ) ;
}
}
2015-09-24 12:37:21 -04:00
if ( UsageMapPCH . Count > 1 )
2014-07-31 09:34:11 -04:00
{
// Keep track of the PCH file that is most used within this module
2015-09-03 08:47:24 -04:00
FileReference MostFilesAreIncludingPCH = null ;
2014-07-31 09:34:11 -04:00
int MostFilesIncluded = 0 ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( KeyValuePair < FileReference , List < FileItem > > CurPCH in UsageMapPCH . Where ( PCH = > PCH . Value . Count > MostFilesIncluded ) )
2014-07-31 09:34:11 -04:00
{
MostFilesAreIncludingPCH = CurPCH . Key ;
2015-09-24 12:37:21 -04:00
MostFilesIncluded = CurPCH . Value . Count ;
2014-07-31 09:34:11 -04:00
}
// Find all of the files that are not including our "best" PCH header
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
StringBuilder FilesNotIncludingBestPCH = new StringBuilder ( ) ;
foreach ( KeyValuePair < FileReference , List < FileItem > > CurPCH in UsageMapPCH . Where ( PCH = > PCH . Key ! = MostFilesAreIncludingPCH ) )
2014-07-31 09:34:11 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( FileItem SourceFile in CurPCH . Value )
2014-07-31 09:34:11 -04:00
{
2015-09-24 12:37:21 -04:00
FilesNotIncludingBestPCH . AppendFormat ( "{0} (including {1})\n" , SourceFile . AbsolutePath , CurPCH . Key ) ;
2014-07-31 09:34:11 -04:00
}
}
// Bail out and let the user know which source files may need to be fixed up
throw new BuildException (
"All source files in module \"{0}\" must include the same precompiled header first. Currently \"{1}\" is included by most of the source files. The following source files are not including \"{1}\" as their first include:\n\n{2}" ,
Name ,
MostFilesAreIncludingPCH ,
2015-09-24 12:37:21 -04:00
FilesNotIncludingBestPCH ) ;
2014-07-31 09:34:11 -04:00
}
}
2015-09-24 12:37:21 -04:00
if ( BuildConfiguration . bPrintPerformanceInfo )
2014-07-31 09:34:11 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
double PCHCacheTime = ( DateTime . UtcNow - PCHCacheTimerStart ) . TotalSeconds ;
2014-07-31 09:34:11 -04:00
TotalPCHCacheTime + = PCHCacheTime ;
}
2014-07-18 14:20:08 -04:00
}
2014-04-23 20:18:55 -04:00
}
2014-07-31 09:34:11 -04:00
2015-09-27 13:32:44 -04:00
private static FileItem CachePCHUsageForCPPFile ( UEBuildTarget Target , FileItem CPPFile , UEBuildPlatform BuildPlatform , List < string > IncludePathsToSearch , Dictionary < string , FileItem > IncludeFileSearchDictionary )
2014-04-23 20:18:55 -04:00
{
2015-01-07 14:16:46 -05:00
// @todo ubtmake: We don't really need to scan every file looking for PCH headers, just need one. The rest is just for error checking.
// @todo ubtmake: We don't need all of the direct includes either. We just need the first, unless we want to check for errors.
2015-09-24 12:37:21 -04:00
List < DependencyInclude > DirectIncludeFilenames = CPPEnvironment . GetDirectIncludeDependencies ( Target , CPPFile , BuildPlatform , bOnlyCachedDependencies : false ) ;
2014-04-23 20:18:55 -04:00
if ( BuildConfiguration . bPrintDebugInfo )
{
Log . TraceVerbose ( "Found direct includes for {0}: {1}" , Path . GetFileName ( CPPFile . AbsolutePath ) , string . Join ( ", " , DirectIncludeFilenames . Select ( F = > F . IncludeName ) ) ) ;
}
if ( DirectIncludeFilenames . Count = = 0 )
2015-09-24 12:37:21 -04:00
{
2014-04-23 20:18:55 -04:00
return null ;
2014-07-18 14:20:08 -04:00
}
2014-04-23 20:18:55 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
DependencyInclude FirstInclude = DirectIncludeFilenames [ 0 ] ;
2014-04-23 20:18:55 -04:00
// The pch header should always be the first include in the source file.
// NOTE: This is not an absolute path. This is just the literal include string from the source file!
CPPFile . PCHHeaderNameInCode = FirstInclude . IncludeName ;
// Resolve the PCH header to an absolute path.
// Check NullOrEmpty here because if the file could not be resolved we need to throw an exception
2015-09-03 08:47:24 -04:00
if ( FirstInclude . IncludeResolvedNameIfSuccessful ! = null & &
2014-04-23 20:18:55 -04:00
// ignore any preexisting resolve cache if we are not configured to use it.
BuildConfiguration . bUseIncludeDependencyResolveCache & &
// if we are testing the resolve cache, we force UBT to resolve every time to look for conflicts
! BuildConfiguration . bTestIncludeDependencyResolveCache )
{
2015-09-03 08:47:24 -04:00
CPPFile . PrecompiledHeaderIncludeFilename = FirstInclude . IncludeResolvedNameIfSuccessful ;
return FileItem . GetItemByFileReference ( CPPFile . PrecompiledHeaderIncludeFilename ) ;
2014-04-23 20:18:55 -04:00
}
// search the include paths to resolve the file.
2015-09-24 12:37:21 -04:00
FileItem PrecompiledHeaderIncludeFile = CPPEnvironment . FindIncludedFile ( CPPFile . PCHHeaderNameInCode , ! BuildConfiguration . bCheckExternalHeadersForModification , IncludePathsToSearch , IncludeFileSearchDictionary ) ;
2014-04-23 20:18:55 -04:00
if ( PrecompiledHeaderIncludeFile = = null )
2015-09-24 12:37:21 -04:00
{
2014-07-31 09:34:11 -04:00
throw new BuildException ( "The first include statement in source file '{0}' is trying to include the file '{1}' as the precompiled header, but that file could not be located in any of the module's include search paths." , CPPFile . AbsolutePath , CPPFile . PCHHeaderNameInCode ) ;
2014-07-18 16:34:12 -04:00
}
2014-04-23 20:18:55 -04:00
2015-09-03 08:47:24 -04:00
CPPEnvironment . IncludeDependencyCache [ Target ] . CacheResolvedIncludeFullPath ( CPPFile , 0 , PrecompiledHeaderIncludeFile . Reference ) ;
CPPFile . PrecompiledHeaderIncludeFilename = PrecompiledHeaderIncludeFile . Reference ;
2014-04-23 20:18:55 -04:00
return PrecompiledHeaderIncludeFile ;
}
/// <summary>
/// Creates a compile environment from a base environment based on the module settings.
/// </summary>
/// <param name="BaseCompileEnvironment">An existing environment to base the module compile environment on.</param>
/// <returns>The new module compile environment.</returns>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public CPPEnvironment CreateModuleCompileEnvironment ( UEBuildTarget Target , CPPEnvironment BaseCompileEnvironment )
2014-04-23 20:18:55 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment Result = BaseCompileEnvironment . DeepCopy ( ) ;
2014-04-23 20:18:55 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
if ( Binary = = null )
{
// Adding this check here as otherwise the call to Binary.Config.IntermediateDirectory will give an
// unhandled exception
throw new BuildException ( "UEBuildBinary not set up for module {0}" , this . ToString ( ) ) ;
}
2014-04-23 20:18:55 -04:00
// Override compile environment
2015-09-24 12:37:21 -04:00
Result . Config . bFasterWithoutUnity = Rules . bFasterWithoutUnity ;
Result . Config . OptimizeCode = Rules . OptimizeCode ;
Result . Config . bUseRTTI = Rules . bUseRTTI ;
Result . Config . bUseAVX = Rules . bUseAVX ;
Result . Config . bEnableBufferSecurityChecks = Rules . bEnableBufferSecurityChecks ;
Result . Config . MinSourceFilesForUnityBuildOverride = Rules . MinSourceFilesForUnityBuildOverride ;
2015-08-28 08:39:42 -04:00
Result . Config . MinFilesUsingPrecompiledHeaderOverride = Rules . MinFilesUsingPrecompiledHeaderOverride ;
2015-09-24 12:37:21 -04:00
Result . Config . bBuildLocallyWithSNDBS = Rules . bBuildLocallyWithSNDBS ;
Result . Config . bEnableExceptions = Rules . bEnableExceptions ;
Result . Config . bEnableShadowVariableWarning = Rules . bEnableShadowVariableWarnings ;
Result . Config . bUseStaticCRT = ( Target . Rules ! = null & & Target . Rules . bUseStaticCRT ) ;
Result . Config . OutputDirectory = DirectoryReference . Combine ( Binary . Config . IntermediateDirectory , Name ) ;
2014-04-23 20:18:55 -04:00
2014-07-08 13:49:35 -04:00
// Switch the optimization flag if we're building a game module. Also pass the definition for building in DebugGame along (see ModuleManager.h for notes).
2014-08-26 11:26:50 -04:00
if ( Target . Configuration = = UnrealTargetConfiguration . DebugGame )
2014-04-23 20:18:55 -04:00
{
2015-09-24 12:37:21 -04:00
if ( ! ModuleDirectory . IsUnderDirectory ( UnrealBuildTool . EngineDirectory ) )
2014-08-26 11:26:50 -04:00
{
Result . Config . Target . Configuration = CPPTargetConfiguration . Debug ;
Result . Config . Definitions . Add ( "UE_BUILD_DEVELOPMENT_WITH_DEBUGGAME=1" ) ;
}
2014-04-23 20:18:55 -04:00
}
// Add the module's private definitions.
Result . Config . Definitions . AddRange ( Definitions ) ;
// Setup the compile environment for the module.
2015-03-21 11:34:08 -04:00
SetupPrivateCompileEnvironment ( Result . Config . CPPIncludeInfo . IncludePaths , Result . Config . CPPIncludeInfo . SystemIncludePaths , Result . Config . Definitions , Result . Config . AdditionalFrameworks ) ;
2014-04-23 20:18:55 -04:00
2014-12-17 12:37:39 -05:00
// @hack to skip adding definitions to compile environment, they will be baked into source code files
if ( bSkipDefinitionsForCompileEnvironment )
{
Result . Config . Definitions . Clear ( ) ;
2014-12-18 16:32:27 -05:00
Result . Config . CPPIncludeInfo . IncludePaths = new HashSet < string > ( BaseCompileEnvironment . Config . CPPIncludeInfo . IncludePaths ) ;
2014-12-17 12:37:39 -05:00
}
2014-04-23 20:18:55 -04:00
return Result ;
2014-03-14 14:13:41 -04:00
}
2015-06-09 11:50:55 -04:00
public class UHTModuleInfoCacheType
{
public UHTModuleInfoCacheType ( IEnumerable < string > InHeaderFilenames , UHTModuleInfo InInfo )
{
HeaderFilenames = InHeaderFilenames ;
2015-09-24 12:37:21 -04:00
Info = InInfo ;
2015-06-09 11:50:55 -04:00
}
2014-04-23 20:18:55 -04:00
2015-06-09 11:50:55 -04:00
public IEnumerable < string > HeaderFilenames = null ;
2015-09-24 12:37:21 -04:00
public UHTModuleInfo Info = null ;
2015-06-09 11:50:55 -04:00
}
private UHTModuleInfoCacheType UHTModuleInfoCache = null ;
2014-04-23 20:18:55 -04:00
2014-07-31 09:34:11 -04:00
/// Total time spent generating PCHs for modules (not actually compiling, but generating the PCH's input data)
public static double TotalPCHGenTime = 0.0 ;
/// Time spent caching which PCH header is included by each module and source file
public static double TotalPCHCacheTime = 0.0 ;
2014-07-16 12:14:22 -04:00
2014-03-14 14:13:41 -04:00
/// <summary>
/// If any of this module's source files contain UObject definitions, this will return those header files back to the caller
/// </summary>
/// <returns>
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public UHTModuleInfoCacheType GetCachedUHTModuleInfo ( EGeneratedCodeVersion GeneratedCodeVersion )
2014-03-14 14:13:41 -04:00
{
2015-06-09 11:50:55 -04:00
if ( UHTModuleInfoCache = = null )
2014-07-18 14:20:08 -04:00
{
2015-09-24 12:37:21 -04:00
IEnumerable < string > HeaderFilenames = Directory . GetFiles ( ModuleDirectory . FullName , "*.h" , SearchOption . AllDirectories ) ;
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UHTModuleInfo Info = ExternalExecution . CreateUHTModuleInfo ( HeaderFilenames , Name , ModuleDirectory , Type , GeneratedCodeVersion ) ;
2015-06-09 11:50:55 -04:00
UHTModuleInfoCache = new UHTModuleInfoCacheType ( Info . PublicUObjectHeaders . Concat ( Info . PublicUObjectClassesHeaders ) . Concat ( Info . PrivateUObjectHeaders ) . Select ( x = > x . AbsolutePath ) . ToList ( ) , Info ) ;
2014-07-18 14:20:08 -04:00
}
2014-04-23 20:18:55 -04:00
2015-06-09 11:50:55 -04:00
return UHTModuleInfoCache ;
2014-03-14 14:13:41 -04:00
}
2015-06-09 11:50:55 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public override void GetAllDependencyModules ( List < UEBuildModule > ReferencedModules , HashSet < UEBuildModule > IgnoreReferencedModules , bool bIncludeDynamicallyLoaded , bool bForceCircular , bool bOnlyDirectDependencies )
2014-03-14 14:13:41 -04:00
{
2015-08-28 15:47:20 -04:00
List < UEBuildModule > AllDependencyModules = new List < UEBuildModule > ( ) ;
AllDependencyModules . AddRange ( PrivateDependencyModules ) ;
AllDependencyModules . AddRange ( PublicDependencyModules ) ;
2015-09-24 12:37:21 -04:00
if ( bIncludeDynamicallyLoaded )
2014-03-14 14:13:41 -04:00
{
2015-08-28 15:47:20 -04:00
AllDependencyModules . AddRange ( DynamicallyLoadedModules ) ;
2015-09-24 12:37:21 -04:00
AllDependencyModules . AddRange ( PlatformSpecificDynamicallyLoadedModules ) ;
}
2014-03-14 14:13:41 -04:00
2015-08-28 15:47:20 -04:00
foreach ( UEBuildModule DependencyModule in AllDependencyModules )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
if ( ! IgnoreReferencedModules . Contains ( DependencyModule ) )
2014-03-14 14:13:41 -04:00
{
// Don't follow circular back-references!
2015-08-28 15:47:20 -04:00
bool bIsCircular = HasCircularDependencyOn ( DependencyModule . Name ) ;
2014-03-14 14:13:41 -04:00
if ( bForceCircular | | ! bIsCircular )
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
IgnoreReferencedModules . Add ( DependencyModule ) ;
2014-03-14 14:13:41 -04:00
2015-09-24 12:37:21 -04:00
if ( ! bOnlyDirectDependencies )
{
2014-07-31 09:34:11 -04:00
// Recurse into dependent modules first
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
DependencyModule . GetAllDependencyModules ( ReferencedModules , IgnoreReferencedModules , bIncludeDynamicallyLoaded , bForceCircular , bOnlyDirectDependencies ) ;
2014-07-31 09:34:11 -04:00
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
ReferencedModules . Add ( DependencyModule ) ;
2014-03-14 14:13:41 -04:00
}
}
}
}
2015-03-20 08:25:23 -04:00
public override void RecursivelyAddPrecompiledModules ( List < UEBuildModule > Modules )
{
2015-09-24 12:37:21 -04:00
if ( ! Modules . Contains ( this ) )
2015-03-20 08:25:23 -04:00
{
Modules . Add ( this ) ;
// Get the dependent modules
2015-08-28 15:47:20 -04:00
List < UEBuildModule > DependentModules = new List < UEBuildModule > ( ) ;
2015-09-24 12:37:21 -04:00
if ( PrivateDependencyModules ! = null )
2015-08-28 15:47:20 -04:00
{
DependentModules . AddRange ( PrivateDependencyModules ) ;
}
2015-09-24 12:37:21 -04:00
if ( PublicDependencyModules ! = null )
2015-08-28 15:47:20 -04:00
{
DependentModules . AddRange ( PublicDependencyModules ) ;
}
2015-09-24 12:37:21 -04:00
if ( DynamicallyLoadedModules ! = null )
2015-08-28 15:47:20 -04:00
{
DependentModules . AddRange ( DynamicallyLoadedModules ) ;
}
2015-09-24 12:37:21 -04:00
if ( PlatformSpecificDynamicallyLoadedModules ! = null )
2015-08-28 15:47:20 -04:00
{
DependentModules . AddRange ( PlatformSpecificDynamicallyLoadedModules ) ;
}
2015-03-20 08:25:23 -04:00
// Find modules for each of them, and add their dependencies too
2015-09-24 12:37:21 -04:00
foreach ( UEBuildModule DependentModule in DependentModules )
2015-03-20 08:25:23 -04:00
{
DependentModule . RecursivelyAddPrecompiledModules ( Modules ) ;
}
}
}
2015-04-17 15:21:14 -04:00
}
2014-03-14 14:13:41 -04:00
2015-09-24 13:47:13 -04:00
/// <summary>
/// A module that is compiled from C++ CLR code.
/// </summary>
2014-03-14 14:13:41 -04:00
class UEBuildModuleCPPCLR : UEBuildModuleCPP
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// The assemblies referenced by the module's private implementation.
/// </summary>
2014-09-11 03:21:51 -04:00
HashSet < string > PrivateAssemblyReferences ;
2014-03-14 14:13:41 -04:00
public UEBuildModuleCPPCLR (
string InName ,
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
UHTModuleType InType ,
2015-09-03 08:47:24 -04:00
DirectoryReference InModuleDirectory ,
DirectoryReference InGeneratedCodeDirectory ,
2014-03-14 14:13:41 -04:00
IntelliSenseGatherer InIntelliSenseGatherer ,
IEnumerable < FileItem > InSourceFiles ,
2015-08-28 08:39:42 -04:00
ModuleRules InRules ,
2015-05-08 15:19:00 -04:00
bool bInBuildSourceFiles ,
2015-09-08 07:59:23 -04:00
FileReference InRulesFile
2014-03-14 14:13:41 -04:00
)
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
: base ( InName , InType , InModuleDirectory , InGeneratedCodeDirectory , InIntelliSenseGatherer ,
2015-09-24 12:37:21 -04:00
InSourceFiles , InRules ,
2015-09-08 07:59:23 -04:00
bInBuildSourceFiles , InRulesFile )
2014-03-14 14:13:41 -04:00
{
2015-08-28 08:39:42 -04:00
PrivateAssemblyReferences = HashSetFromOptionalEnumerableStringParameter ( InRules . PrivateAssemblyReferences ) ;
2014-03-14 14:13:41 -04:00
}
// UEBuildModule interface.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
public override List < FileItem > Compile ( UEBuildTarget Target , UEToolChain ToolChain , CPPEnvironment GlobalCompileEnvironment , CPPEnvironment CompileEnvironment )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment ModuleCLREnvironment = CompileEnvironment . DeepCopy ( ) ;
2014-03-14 14:13:41 -04:00
// Setup the module environment for the project CLR mode
ModuleCLREnvironment . Config . CLRMode = CPPCLRMode . CLREnabled ;
// Add the private assembly references to the compile environment.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
foreach ( string PrivateAssemblyReference in PrivateAssemblyReferences )
2014-03-14 14:13:41 -04:00
{
ModuleCLREnvironment . AddPrivateAssembly ( PrivateAssemblyReference ) ;
}
// Pass the CLR compilation environment to the standard C++ module compilation code.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
return base . Compile ( Target , ToolChain , GlobalCompileEnvironment , ModuleCLREnvironment ) ;
2014-03-14 14:13:41 -04:00
}
public override void SetupPrivateLinkEnvironment (
2015-05-22 08:57:34 -04:00
UEBuildBinary SourceBinary ,
2015-03-21 11:34:08 -04:00
LinkEnvironment LinkEnvironment ,
List < UEBuildBinary > BinaryDependencies ,
2015-09-08 15:50:24 -04:00
HashSet < UEBuildModule > VisitedModules
2014-03-14 14:13:41 -04:00
)
{
2015-05-22 08:57:34 -04:00
base . SetupPrivateLinkEnvironment ( SourceBinary , LinkEnvironment , BinaryDependencies , VisitedModules ) ;
2014-03-14 14:13:41 -04:00
// Setup the link environment for linking a CLR binary.
LinkEnvironment . Config . CLRMode = CPPCLRMode . CLREnabled ;
}
}
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
public class UEBuildFramework
{
2015-09-24 12:37:21 -04:00
public UEBuildFramework ( string InFrameworkName )
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
{
FrameworkName = InFrameworkName ;
}
2015-09-24 12:37:21 -04:00
public UEBuildFramework ( string InFrameworkName , string InFrameworkZipPath )
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
{
2015-09-24 12:37:21 -04:00
FrameworkName = InFrameworkName ;
FrameworkZipPath = InFrameworkZipPath ;
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
}
2015-09-24 12:37:21 -04:00
public UEBuildFramework ( string InFrameworkName , string InFrameworkZipPath , string InCopyBundledAssets )
{
FrameworkName = InFrameworkName ;
FrameworkZipPath = InFrameworkZipPath ;
CopyBundledAssets = InCopyBundledAssets ;
}
public UEBuildModule OwningModule = null ;
public string FrameworkName = null ;
public string FrameworkZipPath = null ;
public string CopyBundledAssets = null ;
Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski
[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
}
2014-07-28 14:55:48 -04:00
public class UEBuildBundleResource
{
2014-11-21 13:41:17 -05:00
public UEBuildBundleResource ( string InResourcePath , string InBundleContentsSubdir = "Resources" , bool bInShouldLog = true )
2014-07-28 14:55:48 -04:00
{
ResourcePath = InResourcePath ;
BundleContentsSubdir = InBundleContentsSubdir ;
2014-11-21 13:41:17 -05:00
bShouldLog = bInShouldLog ;
2014-07-28 14:55:48 -04:00
}
2015-09-24 12:37:21 -04:00
public string ResourcePath = null ;
public string BundleContentsSubdir = null ;
public bool bShouldLog = true ;
2014-07-28 14:55:48 -04:00
}
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public class PrecompileHeaderEnvironment
{
2015-09-24 13:47:13 -04:00
/// <summary>
/// The name of the module this PCH header is a member of
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public readonly string ModuleName ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// PCH header file name as it appears in an #include statement in source code (might include partial, or no relative path.)
/// This is needed by some compilers to use PCH features.
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public string PCHHeaderNameInCode ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The source header file that this precompiled header will be generated for
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public readonly FileItem PrecompiledHeaderIncludeFilename ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// Whether this precompiled header will be built with CLR features enabled. We won't mix and match CLR PCHs with non-CLR PCHs
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public readonly CPPCLRMode CLRMode ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// Whether this precompiled header will be built with code optimization enabled.
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public readonly ModuleRules . CodeOptimization OptimizeCode ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// The PCH file we're generating
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public FileItem PrecompiledHeaderFile = null ;
2015-09-24 13:47:13 -04:00
/// <summary>
/// Object files emitted from the compiler when generating this precompiled header. These will be linked into modules that
/// include this PCH
/// </summary>
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
public readonly List < FileItem > OutputObjectFiles = new List < FileItem > ( ) ;
2015-09-24 12:37:21 -04:00
public PrecompileHeaderEnvironment ( string InitModuleName , string InitPCHHeaderNameInCode , FileItem InitPrecompiledHeaderIncludeFilename , CPPCLRMode InitCLRMode , ModuleRules . CodeOptimization InitOptimizeCode )
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
{
ModuleName = InitModuleName ;
PCHHeaderNameInCode = InitPCHHeaderNameInCode ;
PrecompiledHeaderIncludeFilename = InitPrecompiledHeaderIncludeFilename ;
CLRMode = InitCLRMode ;
OptimizeCode = InitOptimizeCode ;
}
/// <summary>
/// Creates a precompiled header action to generate a new pch file
/// </summary>
/// <param name="PCHHeaderNameInCode">The precompiled header name as it appeared in an #include statement</param>
/// <param name="PrecompiledHeaderIncludeFilename">Name of the header used for pch.</param>
/// <param name="ProjectCPPEnvironment">The environment the C/C++ files in the project are compiled with.</param>
/// <param name="OutputDirectory">The folder to save the generated PCH file to</param>
/// <param name="ModuleName">Name of the module this PCH is being generated for</param>
/// <param name="bAllowDLLExports">True if we should allow DLLEXPORT definitions for this PCH</param>
/// <returns>the compilation output result of the created pch.</returns>
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
public static CPPOutput GeneratePCHCreationAction ( UEToolChain ToolChain , UEBuildTarget Target , string PCHHeaderNameInCode , FileItem PrecompiledHeaderIncludeFilename , CPPEnvironment ProjectCPPEnvironment , DirectoryReference OutputDirectory , DirectoryReference PCHOutputDirectory , string ModuleName , bool bAllowDLLExports )
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
{
// Find the header file to be precompiled. Don't skip external headers
if ( PrecompiledHeaderIncludeFilename . bExists )
{
// Create a Dummy wrapper around the PCH to avoid problems with #pragma once on clang
2016-02-19 13:49:13 -05:00
string PCHGuardDefine = Path . GetFileNameWithoutExtension ( PrecompiledHeaderIncludeFilename . AbsolutePath ) . ToUpperInvariant ( ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
string LocalPCHHeaderNameInCode = ToolChain . ConvertPath ( PrecompiledHeaderIncludeFilename . AbsolutePath ) ;
string TmpPCHHeaderContents = String . Format ( "#ifndef __AUTO_{0}_H__\n#define __AUTO_{0}_H__\n//Last Write: {2}\n#include \"{1}\"\n#endif//__AUTO_{0}_H__" , PCHGuardDefine , LocalPCHHeaderNameInCode , PrecompiledHeaderIncludeFilename . LastWriteTime ) ;
2015-09-03 08:47:24 -04:00
FileReference DummyPath = FileReference . Combine (
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
ProjectCPPEnvironment . Config . OutputDirectory ,
Path . GetFileName ( PrecompiledHeaderIncludeFilename . AbsolutePath ) ) ;
FileItem DummyPCH = FileItem . CreateIntermediateTextFile ( DummyPath , TmpPCHHeaderContents ) ;
// Create a new C++ environment that is used to create the PCH.
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
CPPEnvironment ProjectPCHEnvironment = ProjectCPPEnvironment . DeepCopy ( ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
ProjectPCHEnvironment . Config . PrecompiledHeaderAction = PrecompiledHeaderAction . Create ;
2015-09-03 08:47:24 -04:00
ProjectPCHEnvironment . Config . PrecompiledHeaderIncludeFilename = PrecompiledHeaderIncludeFilename . Reference ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
ProjectPCHEnvironment . Config . PCHHeaderNameInCode = PCHHeaderNameInCode ;
ProjectPCHEnvironment . Config . OutputDirectory = OutputDirectory ;
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016173 on 2016/06/16 by Lukasz.Furman
fixed path updates in nested move tasks
#jira FORT-25742
Change 3015722 on 2016/06/15 by Bob.Tellez
#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence
#JIRA OR-14102
Change 3015626 on 2016/06/15 by Bob.Tellez
#UE4 Experimental fix for hitches involving spinlocks in windows.
#JIRA FORT-25253
Change 3015473 on 2016/06/15 by Bob.Tellez
#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.
#JIRA FORT-25748
Change 3014721 on 2016/06/15 by Bob.Tellez
#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.
#JIRA FORT-25689
Change 3014323 on 2016/06/15 by Rob.Cannaday
When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
#jira FORT-25407
#tests front end parties, being kicked from outpost lobby
Change 3013712 on 2016/06/14 by Bob.Tellez
#UE4 Fix DrawNetDriverDebug crash during map transitions
Change 3013418 on 2016/06/14 by Mark.Satterthwaite
Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
#jira FORT-24510
Change 3013394 on 2016/06/14 by Mark.Satterthwaite
Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
#jira FORT-24808
Change 3012977 on 2016/06/14 by Fred.Kimberley
Add a blueprint exposed function to evaluate an attribute from a given base value.
Change 3012755 on 2016/06/14 by Bob.Tellez
#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe
#JIRA FORT-113
Change 3011948 on 2016/06/13 by Mark.Satterthwaite
Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.
Change 3011659 on 2016/06/13 by Bob.Tellez
#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.
Change 3011647 on 2016/06/13 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#tests multiple account login, frontend only
Change 3011436 on 2016/06/13 by Nick.Cooper
#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation
#jira FORT-23606
Change 3010411 on 2016/06/12 by Bob.Tellez
#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.
#jira FORT-113, FORT-22222
Change 3009885 on 2016/06/10 by Billy.Bramer
#jira FORT-25361
[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
- Fix some resultant bugs from swapping attributes to be struct-based:
- Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
- Fix issue where subsequent changes to the aggregator's base value on the client would be lost
Change 3009514 on 2016/06/10 by Bob.Tellez
#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.
Change 3009197 on 2016/06/10 by Michael.Trepka
Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway
Change 3008392 on 2016/06/09 by Ben.Zeigler
#jira FORT-25244
Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.
Change 3008106 on 2016/06/09 by Lukasz.Furman
fixed cutting corners near navmesh obstacles in detour crowd's string pulling
#jira FORT-24981
Change 3008039 on 2016/06/09 by Bob.Tellez
#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.
Change 3007864 on 2016/06/09 by Fred.Kimberley
Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.
Change 3007682 on 2016/06/09 by Michael.Trepka
Re-enabled reverb on Mac
Change 3006971 on 2016/06/08 by Saul.Abreu
#fortnite
#jira FORT-25169
Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.
Change 3006933 on 2016/06/08 by Chris.Gagnon
Fixed up all the Power levle widget use cases.
#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924
Change 3006633 on 2016/06/08 by Dmitry.Rekman
Linux: propagate ensure message to the CR (FORT-23030).
- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.
#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
#jira FORT-23030
Change 3006036 on 2016/06/08 by Rob.Cannaday
Remove warning about missing "recentplayers" field. The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
#jira FORT-18687
Change 3005216 on 2016/06/07 by Bob.Tellez
#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.
Change 3004857 on 2016/06/07 by Rob.Cannaday
Fix for incorrect reason displayed for inability to join party
#jira FORT-13517
Change 3004811 on 2016/06/07 by Michael.Trepka
Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.
Change 3004553 on 2016/06/07 by Lukasz.Furman
fixed AnySpawners activating before navmesh unlock & rebuild
#jira FORT-25067
Change 3004083 on 2016/06/07 by Bob.Tellez
#UE4 Fixing GenerateApplicationPath for monolithic games.
Change 3003457 on 2016/06/06 by Bob.Tellez
#UE4 Add a little info to a warning about failing to load a file for streaming.
Change 3003256 on 2016/06/06 by Bob.Tellez
#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac
Change 3003146 on 2016/06/06 by jonathan.lindquist
switching from a ceil and lerp technique to an if statement to provide better transform results.
Change 3002048 on 2016/06/06 by Daniel.Broder
Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.
This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.
#RB Stephan.Delmer
#CodeReview Bob.Tellez
#UE4 #ReleaseNote
Change 3001315 on 2016/06/05 by Daniel.Broder
Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated(). That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.
#RB Stephan.Delmer
Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it. If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).
#CodeReview Ori.Cohen
#UE4 #Fortnite #BugFix
Change 3001001 on 2016/06/04 by Fred.Kimberley
Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.
Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.
Change 3000613 on 2016/06/03 by Sam.Spiro
#fort online 24747
Take change from SamZ to get connection change delegates firing correctly
Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)
#RB Ben.Zeigler
Change 3000482 on 2016/06/03 by Rob.Cannaday
Fix problem where newly added friends don't recognize party invitations
#jira FORT-19415
From CL 2953432:
Ignore presence updates for local user with different resources
#jira OR-19929
#tests front end party invites
Change 2998044 on 2016/06/02 by Lukasz.Furman
fixed path box intersection test used to verify if hotspot is still required for updated path
#jira FORT-24422
Change 2997948 on 2016/06/02 by Eric.Newman
Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria. Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing
Change 2997660 on 2016/06/02 by Chris.Wood
Changed Linux server crash handler to force CRC log paths to match main engine log.
[UE-30259] - Some server crashes are missing from crashreporter database
Should allow us to have CRC logs uploaded to S3 along with main logs easily.
Change 2996702 on 2016/06/01 by Bob.Tellez
#UE4 You can now use Edit Asset on Level assets in the reference viewer.
Change 2996683 on 2016/06/01 by Tim.Tillotson
#fortnite
Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
#JIRA FORT-23833
Change 2996548 on 2016/06/01 by Bob.Tellez
#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.
Change 2996322 on 2016/06/01 by Bob.Tellez
#UE4 Fix for specifying more than one ini override on the command line
Change 2996306 on 2016/06/01 by Bob.Tellez
#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.
Change 2995634 on 2016/06/01 by Jonathan.Lindquist
imrpoving the wind magnitude and noise texture
Change 2995249 on 2016/05/31 by Bob.Tellez
#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.
Change 2992135 on 2016/05/26 by Bob.Tellez
#UE4 extern for GuardedMain in LaunchLinux to fix nonunity
Change 2991912 on 2016/05/26 by jonathan.lindquist
moved a texture sample into a new grouping
Change 2991738 on 2016/05/26 by Bob.Tellez
#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.
Change 2991449 on 2016/05/26 by Lukasz.Furman
AI Ftests will now delay spawning until navmesh is ready
#fortnite
Change 2990705 on 2016/05/25 by Chris.Gagnon
New stats panel, upon stat changes there is a delta pop up.
New Squads Tab.
Navigation from nodes to squad slots working.
Added GetAnimationCurrentTime() to UMG Animation API.
#RB Fred.Kimberley, Saul.Abreu
Change 2990286 on 2016/05/25 by Bob.Tellez
#UE4 Fix logging error regarding max tag container replication size
Change 2990285 on 2016/05/25 by Bob.Tellez
#UE4 Fix for crash when using "ShowDebug Game" client side
Change 2989977 on 2016/05/25 by Lukasz.Furman
auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
#fortnite
Change 2989174 on 2016/05/24 by Bob.Tellez
#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.
Change 2988571 on 2016/05/24 by Jonathan.Lindquist
submitting a fix for grass-like hierarchy layouts
Change 2985428 on 2016/05/20 by Bob.Tellez
Experimenting with making UGS CIS not rebuild UBT when incremental building.
Change 2985319 on 2016/05/20 by Bob.Tellez
#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.
Change 2985258 on 2016/05/20 by Billy.Bramer
- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute
Change 2985157 on 2016/05/20 by Bob.Tellez
Experimenting with non-unity CIS
Change 2984664 on 2016/05/19 by Bob.Tellez
#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.
Change 2984663 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.
Change 2984613 on 2016/05/19 by Bob.Tellez
#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.
Change 2984508 on 2016/05/19 by Billy.Bramer
- Add constructors for the new struct based attribute
Change 2983883 on 2016/05/19 by Lukasz.Furman
disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
#ue4
Change 2983770 on 2016/05/19 by Bob.Tellez
#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.
#JIRA FORT-24303
Change 2982306 on 2016/05/18 by Bob.Tellez
Also experimenting with not updating version files in UGS CIS.
Change 2982154 on 2016/05/18 by Lukasz.Furman
changed navwalking geometry conforming to use building prop special case
#jira FORT-24215
Change 2982019 on 2016/05/18 by Bob.Tellez
Trying out incremental CIS builds
Change 2981192 on 2016/05/17 by Bob.Tellez
#UE4 No longer staging movie files for dedicated server builds.
Change 2981023 on 2016/05/17 by Lukasz.Furman
added new mode for NavWalking geometry conforming: prefer height closer to current one
this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars
Change 2980578 on 2016/05/17 by Lukasz.Furman
added option for disabling path replan in crowd manager, turned it off in fortnite
this must be handled through path update events and corridor assignment or else hotspot detection will break
#jira FORT-24116
Change 2980364 on 2016/05/17 by Lukasz.Furman
unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
#jira FORT-24045
Change 2980360 on 2016/05/17 by Lukasz.Furman
more detailed logs for using custom navlinks
#jira FORT-23990
Change 2979880 on 2016/05/16 by Bob.Tellez
#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.
Change 2979522 on 2016/05/16 by Saul.Abreu
#fortnite
Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.
Change 2977690 on 2016/05/13 by Daniel.Broder
Made most FBox functions FORCEINLINE to improve DebugGame performance.
#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.
#CodeReview Bob.Tellez
#UE4 #ReleaseNotes
Change 2977517 on 2016/05/13 by Daniel.Broder
Added ForceInline to TIndexedContainerIterator<...>::operator!=(...). This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!
#CodeReview Bob.Tellez
#Fortnite Wind perf improvement in DebugGame builds.
#UE4 #ReleaseNote
Change 2974910 on 2016/05/11 by Bob.Tellez
#UE4 More graceful handling of export class names in string asset references.
Change 2974095 on 2016/05/11 by Bob.Tellez
#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.
Change 2973663 on 2016/05/11 by John.Abercrombie
[implemented by Ben.Marsh]
UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:
<BuildConfiguration>
<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
</BuildConfiguration>
Change 2972603 on 2016/05/10 by Saad.Nader
#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.
Change 2971741 on 2016/05/09 by Bob.Tellez
#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.
Change 2969838 on 2016/05/06 by Bob.Tellez
#Fortnite Added FN PS4 to build scripts
Change 2969542 on 2016/05/06 by Bob.Tellez
#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.
#JIRA FORT-23754
Change 2969520 on 2016/05/06 by Billy.Bramer
- Fix missing virtual destructor now that the initter struct has virtual members
Change 2969467 on 2016/05/06 by Billy.Bramer
- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
- Fix typos in the initter
- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
- Allow attribute init data to come from several curve tables instead of just one
- Remove reimport bindings from attribute metadata and global curve table, as neither was in use
Change 2969279 on 2016/05/06 by John.Abercrombie
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
Change 2966311 on 2016/05/04 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
(From //Orion/Dev-General CL 2963555)
Change 2966255 on 2016/05/04 by Bob.Tellez
#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.
#JIRA FORT-23604
Change 2966083 on 2016/05/04 by Bob.Tellez
#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.
Change 2965669 on 2016/05/04 by Nicholas.Davies
Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
#RB Antony.Carter
Change 2965316 on 2016/05/03 by Ben.Zeigler
#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
Manual merge of CL #2907874:
When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
The fix is to add the request to the list when it is cancelled if we did not find it.
Change 2965164 on 2016/05/03 by Bob.Tellez
#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!
Change 2963754 on 2016/05/02 by Billy.Bramer
- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)
Change 2962922 on 2016/05/02 by Lukasz.Furman
fixed gameplay debugger in "simulate in editor" mode
Change 2959860 on 2016/04/28 by David.Nikdel
#OGF #McpProfile
- Add Profile Write Lock support to client API
NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
#CodeReview: Ben.Zeigler
Change 2959810 on 2016/04/28 by Jonathan.Lindquist
A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)
Change 2959336 on 2016/04/28 by Bob.Tellez
#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)
Change 2958942 on 2016/04/28 by Jonathan.Lindquist
Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes
Change 2958644 on 2016/04/27 by Jonathan.Lindquist
lowering default recursive steps
Change 2956612 on 2016/04/26 by Jonathan.Lindquist
A few new saftey measures
Change 2956197 on 2016/04/26 by Fred.Kimberley
Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.
Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.
Change 2955386 on 2016/04/25 by Jonathan.Lindquist
Fixed a ui bug related to the first time path geo generator is run
Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.
Change 2955230 on 2016/04/25 by Billy.Bramer
- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes
Change 2954899 on 2016/04/25 by Fred.Kimberley
Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.
Change 2953511 on 2016/04/22 by Bob.Tellez
#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.
Change 2953496 on 2016/04/22 by Chris.Gagnon
When the console closes it now properly restores the viewports input state (both focus and capture).
Change 2952930 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
#jira FORT-23041
Change 2951765 on 2016/04/21 by John.Abercrombie
Removed unused code when initializing attribute sets
Change 2951617 on 2016/04/21 by Jonathan.Lindquist
new elements to the grass shader to include wind influence
also adding a test model
and the latest version of canopy creator
Change 2950861 on 2016/04/21 by Jonathan.Lindquist
Submitting a new material for grass so that it may react to the wind
New wind test maps
Functions to support global wind
a new "fuzzy" mat functions
Adding wind to the rift portals
Change 2950725 on 2016/04/20 by Bob.Tellez
Fixups for non NewEC in GetLastSucceededCL
Change 2950695 on 2016/04/20 by Bob.Tellez
Adding a small helper function to get the last succeeded CL of a given node.
Change 2950616 on 2016/04/20 by Maury.Mountain
hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots
Change 2950207 on 2016/04/20 by Bob.Tellez
#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.
Change 2950162 on 2016/04/20 by Lukasz.Furman
fixed processing of repath requests, added infinite loop protection
#jira FORT-23090
Change 2949974 on 2016/04/20 by Lukasz.Furman
another batch of fixes for hotspot tasks getting out of sync:
abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed
Change 2949923 on 2016/04/20 by Rob.Cannaday
FOnlineIdentityMcp: Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
#tests PIE start game / shutdown
Change 2949210 on 2016/04/19 by Bob.Tellez
#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.
#JIRA FORT-23024
Change 2947381 on 2016/04/18 by Rob.Cannaday
Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
#jira FORT-22861
#tests front end partying
Change 2945301 on 2016/04/15 by Michael.Trepka
Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind
Change 2944422 on 2016/04/14 by Michael.Trepka
Fixed Mono compile errors in UAT
Change 2944375 on 2016/04/14 by Fred.Kimberley
Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.
Change 2944040 on 2016/04/14 by Michael.Trepka
Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick
Change 2943864 on 2016/04/14 by Lukasz.Furman
fixed initialization order of gameplay debugger replicators on client
#jira FORT-22885
Change 2943228 on 2016/04/13 by Bob.Tellez
#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.
Change 2942303 on 2016/04/13 by Daniel.Broder
Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.
#RB Bob.Tellez
#UE4
Change 2941919 on 2016/04/13 by Jonathan.Lindquist
Adding a new maxscript that allows artists to procedurally generate trees.
Change 2941816 on 2016/04/13 by Saul.Abreu
Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.
Change 2941752 on 2016/04/12 by jonathan.lindquist
adding a new function to optimize trees and fix a few issues
Change 2941519 on 2016/04/12 by Jonathan.Lindquist
submitting a new warning regarding file unit types
Change 2940980 on 2016/04/12 by John.Abercrombie
Turned Graphs off by default in the Visual Logger
Change 2940134 on 2016/04/11 by Billy.Bramer
- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
- Change row struct combo box on the data table importer to be sorted alphabetically
Change 2938828 on 2016/04/08 by David.Hunt
#FN || Economy Rebuild
Updating several code references to items and item paths that no longer exist, with Bob's help.
This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.
#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello
Change 2938675 on 2016/04/08 by Lukasz.Furman
fixed gameplay debugger displaying paths of killed pawns
#fortnite
Change 2938426 on 2016/04/08 by Rob.Cannaday
Implement new command line party invitation format into Fortnite
#jira FORT-22685
#tests launch with command line party invite
Integrate CLs 2908339 and 2917498 from Orion
Change 2938367 on 2016/04/08 by Billy.Bramer
- Mark the reimport data table factory with UNREALED_API for external use
- Change CSVImportFactory to respect the class of existing data being reimported upon
Change 2937319 on 2016/04/07 by Lukasz.Furman
improved gameplay task info in gameplay debugger tool
Change 2937178 on 2016/04/07 by Lukasz.Furman
fixed aborting undermine tasks when player becomes reachable
#jira FORT-22240, FORT-22077
Change 2937166 on 2016/04/07 by Saul.Abreu
Fixed redundant typename in TPair that was causing clang compilation errors.
Change 2937093 on 2016/04/07 by Saul.Abreu
#fortnite
Made ElementSetType protected again in the Map family.
Change 2937044 on 2016/04/07 by Saul.Abreu
Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.
Change 2936940 on 2016/04/07 by Bob.Tellez
#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.
Change 2936696 on 2016/04/07 by Bob.Tellez
#UE4 Blueprint names are once again part of Blueprint compile log messages.
Change 2936572 on 2016/04/07 by Lukasz.Furman
added more debug logs for tracking rare NaN error in player movement
#jira FORT-19426
Change 2934892 on 2016/04/06 by Lukasz.Furman
fixed updating hotspot information after all tasks instigated by it are finished
#jira FORT-22515
Change 2933664 on 2016/04/05 by Michael.Trepka
Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished
Change 2933554 on 2016/04/05 by Lukasz.Furman
fixed taker's portal move (priorities of gameplay tasks spawned by path following)
#jira FORT-22482
Change 2933343 on 2016/04/05 by John.Abercrombie
Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
- AnimInstance can be used through an accessor
Change 2933300 on 2016/04/05 by Lukasz.Furman
fixed number of spawned AI in FTests using PreSpawnDelay
#fortnite
Change 2933171 on 2016/04/05 by Lukasz.Furman
added PreSpawnDelay param to function test spawn sets
#fortnite
Change 2931072 on 2016/04/01 by Lukasz.Furman
changed pawn actions to gameplay tasks
#jira FORT-21314
Change 2930987 on 2016/04/01 by Billy.Bramer
- Add method to data table to get all rows as a type
- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"
Change 2929651 on 2016/03/31 by Nick.Cooper
#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress
#jira FORT-21330
#RB ben.zeigler
Change 2929360 on 2016/03/31 by Daniel.Broder
Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.
Thanks to Bob for what I needed to check to early-out and avoid the crash.
#RB Bob.Tellez
#UE4
Change 2928845 on 2016/03/31 by Nicholas.Davies
Add fix for chat text not clearing
#jira FORT-22049 Textbox does not clear when text is sent through chat
Change 2928574 on 2016/03/30 by Ben.Zeigler
Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect
Change 2928572 on 2016/03/30 by Ben.Zeigler
#Jira FORT-20763
Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load
Change 2928436 on 2016/03/30 by Bob.Tellez
#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.
Change 2928372 on 2016/03/30 by Bob.Tellez
#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.
Change 2926805 on 2016/03/29 by Bob.Tellez
#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.
Change 2926752 on 2016/03/29 by Bob.Tellez
#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.
Change 2926189 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
Change 2924921 on 2016/03/28 by Lukasz.Furman
removed log message showing as navmesh generation error when it skips over degenerated poly
#fortnite
Change 2924843 on 2016/03/28 by Lukasz.Furman
added more debug logs for navmesh's failed triangulate()
#jira FORT-22186
Change 2924719 on 2016/03/28 by Lukasz.Furman
fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
#jira FORT-22132
Change 2921698 on 2016/03/24 by Lukasz.Furman
fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
#fortnite
Change 2920395 on 2016/03/23 by Bob.Tellez
#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.
Change 2920343 on 2016/03/23 by Ben.Zeigler
In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
#RB josh.markiewicz
Change 2920310 on 2016/03/23 by Bob.Tellez
#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init
Change 2920254 on 2016/03/23 by Aaron.McLeran
FORT-22090 Re-disabling reverb.
Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037
Change 2920249 on 2016/03/23 by Rob.Cannaday
Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
Don't trigger "member left" type events if we are leaving the party
#jira FORT-20422
#jira FORT-21726
Change 2920178 on 2016/03/23 by Bob.Tellez
#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.
Change 2919858 on 2016/03/23 by Bob.Tellez
#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.
Change 2919775 on 2016/03/23 by Bob.Tellez
#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.
Change 2919233 on 2016/03/22 by Bob.Tellez
#UE4 Removing a warning that is pretty chatty in our cooked logs.
Change 2919125 on 2016/03/22 by Bob.Tellez
#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.
Change 2918831 on 2016/03/22 by Bob.Tellez
#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.
#JIRA FORT-22054
Change 2917722 on 2016/03/21 by Ben.Zeigler
Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
Resave assets that directly referenced FortniteServer
Change 2917588 on 2016/03/21 by Bob.Tellez
#UE4 Fixed shadow variable that I introduced
Change 2914169 on 2016/03/17 by Ben.Zeigler
Disable extra logging that was added to track down Auth issues, they look to be resolved
Change 2912626 on 2016/03/16 by Bob.Tellez
#UE4 Success messages should not be warnings.
Change 2911171 on 2016/03/15 by Bob.Tellez
#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading
Change 2911170 on 2016/03/15 by Billy.Bramer
#jira [FORT-6139]
Trap models persist after destroying supporting structure in Outpost
- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs
Change 2911009 on 2016/03/15 by Bob.Tellez
#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.
#JIRA FORT-21605
Change 2910295 on 2016/03/15 by Bob.Tellez
#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.
Change 2909324 on 2016/03/14 by Bob.Tellez
#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.
Change 2905920 on 2016/03/11 by Lukasz.Furman
fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
#fortnite
Change 2905612 on 2016/03/11 by Bob.Tellez
#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.
[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
ProjectPCHEnvironment . Config . PCHOutputDirectory = PCHOutputDirectory ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
2015-09-24 12:37:21 -04:00
if ( ! bAllowDLLExports )
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
for ( int CurDefinitionIndex = 0 ; CurDefinitionIndex < ProjectPCHEnvironment . Config . Definitions . Count ; + + CurDefinitionIndex )
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
{
// We change DLLEXPORT to DLLIMPORT for "shared" PCH headers
Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
string OldDefinition = ProjectPCHEnvironment . Config . Definitions [ CurDefinitionIndex ] ;
2015-09-24 12:37:21 -04:00
if ( OldDefinition . EndsWith ( "=DLLEXPORT" ) )
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
{
2015-09-24 12:37:21 -04:00
ProjectPCHEnvironment . Config . Definitions [ CurDefinitionIndex ] = OldDefinition . Replace ( "DLLEXPORT" , "DLLIMPORT" ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
}
}
}
// Cache our CPP environment so that we can check for outdatedness quickly. Only files that have includes need this.
DummyPCH . CachedCPPIncludeInfo = ProjectPCHEnvironment . Config . CPPIncludeInfo ;
2015-09-24 12:37:21 -04:00
Log . TraceVerbose ( "Found PCH file \"{0}\"." , PrecompiledHeaderIncludeFilename ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
// Create the action to compile the PCH file.
2015-09-24 08:08:38 -04:00
return ToolChain . CompileCPPFiles ( Target , ProjectPCHEnvironment , new List < FileItem > ( ) { DummyPCH } , ModuleName ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
}
2015-09-24 12:37:21 -04:00
throw new BuildException ( "Couldn't find PCH file \"{0}\"." , PrecompiledHeaderIncludeFilename ) ;
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
}
}
2014-03-14 14:13:41 -04:00
}