Commit Graph

307 Commits

Author SHA1 Message Date
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Joakim Lindqvist
b4d3e129ca Moved logic for finding automation tool projects into msbuild, making the generated .reference file from UBT redundant.
This makes it possible to build UAT with these references without having to run UBT first. Thus also fixes net core building of the project.

This adds about 5 seconds to the build time of automation tool but eliminates the need to run UBT and should avoid the need to implement -compile in UAT (in the end saving more then these 5 seconds)

This essentially does the same as UBT did before, create a .reference file on disk that can then be read by msbuild, it just does this in msbuild as well so we have fewer components involved.

#rb ben.marsh

[CL 14640899 by Joakim Lindqvist in ue5-main branch]
2020-11-03 08:00:07 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Joakim Lindqvist
394b90b098 UBT changes required for netcore projects.
* Added support for more complex Msbuild conditions (using static property methods) as we use this to do per platform checks in the csprojs.
* Tweaks to the parsing of csprojs as expecations are different for netcore (mostly for how configurations are defined)
* Lastly if -dotnetcore flag is present when generating projects, use the netcore project files instead.

#rb ben.marsh

[CL 14572331 by Joakim Lindqvist in ue5-main branch]
2020-10-26 06:08:01 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Joakim Lindqvist
28a2dc4fe7 Unreal VS 1.57
* Improved detection of UE solution by using a special section outputted to the solution, this replaces the need to add a special comment into the solution (or relying on naming convention as was the fallback). This still works with the old conventions to support being used in a UE4 solution.
* Inverted Quickbuild menu to dynamically populate the platforms instead - this allows UnrealVS to data drive the platform list. Unfortunatley due to how visual studio UI handles dynamic lists we can not have a menu that is dynamic and has children. Thus configurations are now hard coded instead - these are still only visible when they are actually supported, but it means UnrealVS needs to be updated when new configurations are added.
* Fixed issue setting debug arguments to net core projects (due to the change to launchSettings.json to store the debug arguments)

#rb ben.marsh
#jira UE-100134, UE-95503

[CL 14444525 by Joakim Lindqvist in ue5-main branch]
2020-10-08 04:19:43 -04:00
Joakim Lindqvist
4aa09904f2 UnrealBuildTool now supports running as a net core project.
Added a set of netcore csprojs to BuildUtilities and DotnetUtilities that build to a seperate output folder. This allows other tools to still target .net framework (like UAT for instance).
UBT is still by default targeted as .net framework.

Note that UBT built for net core has a different output directory Engine/Binaries/DotNet/UnrealBuildTool/UnrealBuildTool.exe - this is due to how a netcore project output looks with signficantly more files that are related to that application (that would be overwritten if using a shared directory).

To opt in to this set UE_USE_DOTNET=1 environment variable.
Please note that due to the changed output directory a lot of tooling will likely break at this point.

#rb ben.marsh

[CL 14419918 by Joakim Lindqvist in ue5-main branch]
2020-10-05 08:13:04 -04:00
Joakim Lindqvist
eebb43e444 Added UnrealEngineGeneratedSolutionVersion tag to generated solution file which is used by UnrealVS to detect that this is a unreal solution. Should fix failure to detect renamed solution in UnrealVS.
#rb none
#jira UE-100134

[CL 14394956 by Joakim Lindqvist in ue5-main branch]
2020-09-25 07:23:43 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Ben Marsh
52672b7bf5 Remove references to Enterprise from UBT.
#rb none

[CL 14354554 by Ben Marsh in ue5-main branch]
2020-09-20 15:18:41 -04:00
Ben Marsh
03675533ea Rename UE4Game -> UnrealGame, UE4Client -> UnrealClient, UE4Server -> UnrealServer.
Mostly a find/replace, though I have looked through the changes and attempted to update references to other things as necessary (eg. renaming IOS plist files for IOS). I'm not set up to test on any platforms other than windows, and was hoping to get your blessing to submit and give QA enough time as possible to uncover issues before the next milestone release.

Particular things that I know I'm not sure about:
- Android references /UE4Game/ paths everywhere (for paths on device, I think). I have no idea if I've got them all.
- I've renamed the iOS mobileprovisions, but I don't know if they need regenerating for the new app name.
- Likewise, not sure what needs to be updated for icon bundles on iOS.

Things that have not been changed:
- Windows still uses IDI_UE4ICON for its icon
- UE4CommandLine.txt
- There's still a UE4Game module which is used by content-only projects

#rb none

[CL 14301890 by Ben Marsh in ue5-main branch]
2020-09-11 15:54:42 -04:00
Ben Marsh
486408b1a9 Rename UE5Editor to UnrealEditor.
#rb none
#jira UE-97600

[CL 14292067 by Ben Marsh in ue5-main branch]
2020-09-10 15:39:00 -04:00
Ben Marsh
be7034ec27 Rename UE4Editor to UE5Editor, and generated solution/projects from UE4 -> UE5.
UE4Game/Client/Server targets left intact for the time being.

#rb none

[CL 14288076 by Ben Marsh in ue5-main branch]
2020-09-10 09:10:30 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
halfdan ingvarsson
de55208aef Added option to UBT project generation to allow users to specify include paths to be omitted from project files. This speeds up parsing, reduces memory footprint, and allows irrelevant symbols to be excluded from intellisense suggestions.
Example usage in BuildConfiguration.xml -

<VCProjectFileGenerator>
    <ExcludedIncludePaths>ThirdParty\WebRTC;ThirdParty\PhysX</ExcludedIncludePaths>
</VCProjectFileGenerator>

Example savings -

Adding ThirdParty\PhysX = 47% vcproj reduction (28MB -> 15MB)
Adding ThirdParty\ = 61% vcproj reduction (28MB -> 11MB)

#jira na
#rb swarm

[CL 13632181 by halfdan ingvarsson in ue5-main branch]
2020-06-05 12:15:12 -04:00
ben marsh
f12d676b72 Fix BuildConfiguration.xml not being read from NotForLicensees folder (no longer returned by XmlConfig.FindInputFiles)
#jira
[FYI] Josh.Adams

#ROBOMERGE-SOURCE: CL 13169678 via CL 13169683 via CL 13169691
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13169695 by ben marsh in Main branch]
2020-05-05 05:52:05 -04:00
graeme thornton
7199481e65 Second attempt at submitting:
UBT: When generating visual studio project files, projects with multiple editor targets will use the default editor target config setting, if it exists, to determine which editor target should be added to the main project file. All others will generate separate projects inside the VS solution.

#rb ben.marsh

#ROBOMERGE-SOURCE: CL 13169045 via CL 13169053 via CL 13169054 via CL 13169058 via CL 13169079
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13169085 by graeme thornton in Main branch]
2020-05-05 05:22:31 -04:00
ben marsh
3b7230edd9 Add an option to configure the maximum length of shared include paths to use when generating Visual Studio project files. Despite improving Visual Studio stability for some users, it seems to be causing VAX crashes for others.
To disable the use of shared include paths (at the expensive of Visual Studio using more memory), put this in BuildConfiguration.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
	<VCProjectFileGenerator>
		<MaxSharedIncludePaths>0</MaxSharedIncludePaths>
	</VCProjectFileGenerator>
</Configuration>

The setting specifies the maximum length of the shared include paths to use, in bytes. The default value is 24,576 (24k).

#jira

#ROBOMERGE-SOURCE: CL 13151316 via CL 13151320 via CL 13151331
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13151347 by ben marsh in Main branch]
2020-05-04 15:18:03 -04:00
graeme thornton
b8d176d2f8 Backing out my change to project file generation as it seems to be causing some problems
#rnx

#ROBOMERGE-SOURCE: CL 13132309 via CL 13137042 via CL 13137199 via CL 13137212 via CL 13137228
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13137240 by graeme thornton in Main branch]
2020-04-30 23:19:44 -04:00
graeme thornton
62991995ea UBT: When generating visual studio project files, projects with multiple editor targets will use the default editor target config setting, if it exists, to determine which editor target should be added to the main project file. All others will generate separate projects inside the VS solution.
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 13115425 via CL 13115430 via CL 13115434 via CL 13115440 via CL 13115446
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13115454 by graeme thornton in Main branch]
2020-04-30 10:55:26 -04:00
ben marsh
61d897c732 Another attempt at fixing Visual Studio memory uses. Now sets the most common include paths, up to 24k, in the IncludePath property, and the remainder on individual items.
#jira UE-92188

#ROBOMERGE-SOURCE: CL 12911340 via CL 12911341 via CL 12911342
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12911343 by ben marsh in Main branch]
2020-04-19 13:25:35 -04:00
ben marsh
4a56b51501 Temporarily revert change to set IncludePaths variable, since it causes an error setting the INCLUDE environment variable when building large projects.
#jira

#ROBOMERGE-SOURCE: CL 12911196 via CL 12911197 via CL 12911198
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12911202 by ben marsh in Main branch]
2020-04-19 10:50:32 -04:00
ben marsh
5dbe78ca68 Change the property used to set include paths for Visual Studio project file. This signifantly reduces memory usage in the IDE (measured ~1,100mb before, ~500mb after) without changing intellisense results, because the property isn't propagated to each item. Also remove unnecessary force included files in non-C++ items.
#rb none
#jira UE-92188

#ROBOMERGE-SOURCE: CL 12905889 in //UE4/Release-4.25/... via CL 12905891 via CL 12905893
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12908019 by ben marsh in Main branch]
2020-04-18 16:10:23 -04:00