Commit Graph

174 Commits

Author SHA1 Message Date
josh adams
90ff579ecc - UBT/C++ changes needed for new Restricted locations
- Does not have the changes for new .ini file locations
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 12676628 via CL 12676630 via CL 12676633
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12676637 by josh adams in Main branch]
2020-04-08 15:07:46 -04:00
michael sartain
43ef13a97b Fix UnrealBuildTool unused variable warnings
#jira none
#rb Ben.Marsh
[FYI] Andrew.Grant, Brandon.Schaefer

#ROBOMERGE-SOURCE: CL 12224860 in //UE4/Release-4.25/... via CL 12224862
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v663-12210973)

[CL 12224868 by michael sartain in Main branch]
2020-03-16 19:04:42 -04:00
ben marsh
80beb14b6d Fix installed files being deleted when cleaning a target from an installed engine build.
#rb none
#jira UE-90547, UE-89724

#ROBOMERGE-SOURCE: CL 12170007 in //UE4/Release-4.25/... via CL 12170010
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12170012 by ben marsh in Main branch]
2020-03-13 23:45:06 -04:00
ben marsh
592183f442 Prevent writing compiled assemblies to installed engine directory. Write them to the AppData folder instead.
#jira
#rb none

#ROBOMERGE-SOURCE: CL 11619452 in //UE4/Release-4.25/... via CL 11619471
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11619492 by ben marsh in Main branch]
2020-02-25 16:49:43 -05:00
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
devin doucette
74fb5e239f Deterministic generation of .sln and .vcxproj files
Visual Studio solution files and project files are now generated deterministically by UnrealBuildTool to reduce solution and project reloads.

Three sources of non-determinism are addressed by this change:

1. VisualStudioSolutionFolder now uses a deterministic guid based on its folder path in the solution. Note that this relies on MasterProjectFolder.AddSubFolder avoiding sibling folders with duplicate names.
2. The Visualizers folder now uses a hard-coded Guid.
3. RulesCompiler.FindAllRulesFiles now sorts cached paths.

#rb Ben.Marsh

[CL 10983140 by devin doucette in Dev-Core branch]
2020-01-14 12:06:17 -05:00
ben marsh
03ae195b79 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536 via CL 10870955
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v624-10872983)

[CL 10876681 by ben marsh in Dev-Build branch]
2020-01-05 17:24:44 -05:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
Ben Marsh
53ec591dee Use strongly typed directory reference objects for additional directories.
#rb none
#rnx

[CL 10082990 by Ben Marsh in Dev-Build branch]
2019-11-08 10:37:21 -05:00
Ben Marsh
6b88e2ae98 Merging CL 10078845: Added AdditionalRootDirectories to project file. This allows projects to compile modules from source code stored in shared directories.
#rb none
#rnx

[CL 10078924 by Ben Marsh in Dev-Build branch]
2019-11-07 21:01:48 -05:00
Ben Marsh
ec2464a292 UBT: Add a mechanism for versioning which build settings UBT should use by default.
Any build targets have a DefaultBuildSettings property. For engine targets, this defaults to BuildSettingsVersion.Latest. For project targets, this defaults to BuildSettingsVersion.Release_4_23. For new projects, this will default to the engine version they are created from.

If a target is not using the latest default build settings, they will receive a message describing the settings that have changed, like this:

    [Upgrade]
    [Upgrade] Using UE 4.23 compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
    [Upgrade]     bLegacyPublicIncludePaths = false                 => Omits subfolders from public include paths to reduce compiler command line length.
    [Upgrade]     PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs   => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html.
    [Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.Release_4_24;' in UnrealPak.Target.cs, and explicitly overriding desired settings.
    [Upgrade]

Intent is to reduce friction for users initially upgrading to new engine versions, while notifying them of more optimal build settings being available, and letting them choose when (or if) to use them.

#rb none

[CL 8556769 by Ben Marsh in Dev-Build branch]
2019-09-06 15:59:52 -04:00
Josh Adams
2eb5796bba - Revamped the Platform Extension plugin support to go back to just passing one directory to ReadPluginsFromDirectory now that the directory swap allows it
#rb ben.marsh

[CL 7954514 by Josh Adams in Dev-Build branch]
2019-08-12 17:59:42 -04:00
Josh Adams
84150c0c8f - Changed the directory structure from /Platforms/Engine to /Engine/Platforms (and .../Project/Platforms)
- Some fixes to get project platform files compiling
#rb ben.marsh

[CL 7294119 by Josh Adams in Dev-Build branch]
2019-07-12 16:09:23 -04:00
phillip kavan
1e136d48c0 Fix for a regression that caused nativized Blueprint struct types to fail UHT property validation at build time.
#rnx
#rb None
[FYI] Ben.Marsh
#jira UE-75209

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 6673665 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v364-6709755)

[CL 6714018 by phillip kavan in Dev-Build branch]
2019-05-31 14:13:36 -04:00
David Harvey
595de45445 PlatformExtensions:
- extensions are included in the solution
 - extension automation projects are included under Automation, and built as part of AutomationTool

#rb josh.adams

[CL 6651876 by David Harvey in Dev-Build branch]
2019-05-28 09:17:23 -04:00
Josh Adams
b055d7f40e - Added UnrealBuildTool.GetAllEngineDirectories(string OptionaSubDirectory) that makes it easier to get, for instance, all Config directories under Engine and any PlatformExtensions
- Properly scan PlatformExtensions for DataDrivenPlatformInfo files
#rb ben.marsh

[CL 6511882 by Josh Adams in Dev-Build branch]
2019-05-15 16:08:22 -04:00
Josh Adams
1e4b186150 - Big update to platforms: PlatformExtensions
- This allows for Confidential platforms to exist outside of the engine, and insert themselves in as needed
- Directory structure is, where .... mirrors the directory structure for Engine and projects
     - /Platforms/XXX/....
- Moving to more data driven approach for ShaderPlatforms and PlatformInfo, where they can be read from DataDrivenPlatformInfo.ini files that live in the platform config folders
- Removed platform mentions from UBT, by way of changing some enums to partial classes with static members (see UnrealTargetPlatform)
- Various other UBT/UAT modifications to allow for looking in other locations for files
- THIS IS NOT A COMPLETE AND FINAL SOLUTION. WE WILL CONTINUE WORK IN DEV-BUILD BEFORE ITS READY FOR PRIMETIME
#rb ben.marsh

[CL 6271418 by Josh Adams in Dev-Build branch]
2019-05-03 08:03:23 -04:00
Ben Marsh
f01d4aae96 UBT: Add a flag for whether a module can be used for a shared PCH, rather than checking against the engine directory.
#rb none
#rnx

[CL 6107587 by Ben Marsh in Dev-Build branch]
2019-04-26 12:00:13 -04:00
Ben Marsh
4d27210c01 UBT: Remove global function for determining whether a file is under an engine directory. This is now done via a trait that is propagated through construction of individual modules.
#rb none
#rnx
#fyi Josh.Adams

[CL 6076546 by Ben Marsh in Dev-Build branch]
2019-04-24 08:31:23 -04:00
Ben Marsh
03ccbeb0a1 UBT: Exclude projects with temporary targets from generated project files by default. Can be re-enabled by passing -IncludeTempTargets to GenerateProjectFiles.bat.
#rb none
#jira UE-71318

[CL 5359427 by Ben Marsh in Dev-Build branch]
2019-03-11 10:57:27 -04:00
Ben Marsh
84420696fe Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4830875 by Ben Marsh in Dev-Build branch]
2019-01-29 08:56:46 -05:00
Ben Marsh
0883dab58a Fix various issues building code projects from an installed engine build on Windows.
#rb none
#jira UE-68366
#rnx

[CL 4713026 by Ben Marsh in Dev-Build branch]
2019-01-11 15:33:57 -05:00
Ben Marsh
129aac0526 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4706788 by Ben Marsh in Dev-Build branch]
2019-01-10 20:03:35 -05:00
Ben Marsh
61701a788c UBT: Optimize file operations to use cached file/directory info, and to discover plugins/rules files in parallel. Also add more stats for different parts of the build.
#rb none
#rnx

[CL 4671815 by Ben Marsh in Dev-Build branch]
2018-12-20 10:46:51 -05:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00