Commit Graph

466 Commits

Author SHA1 Message Date
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
ben marsh
2254e7d424 Fix output directory in project files for programs build from extension folders.
#jira

#ROBOMERGE-SOURCE: CL 12862062 via CL 12862070 via CL 12862081
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12862084 by ben marsh in Main branch]
2020-04-16 10:00:42 -04:00
ben marsh
306377ee32 Fixed UBT warnings due to missing documentation comment.
#rb none
[FYI] Jack.Porter
#jira

#ROBOMERGE-SOURCE: CL 12852440 in //UE4/Release-4.25/... via CL 12852453 via CL 12852468
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12852495 by ben marsh in Main branch]
2020-04-16 08:06:27 -04:00
jack porter
f2bbf8161a Fixed a number of cases where code was assuming Client targets are always named the same as the game target with "Client" appended.
#jira UE-77351
#rb Florin.Pascu
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 12841919 in //UE4/Release-4.25/... via CL 12841963 via CL 12842002
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12842018 by jack porter in Main branch]
2020-04-16 02:01:03 -04:00
DecoyRS
f702501385 PR #6857: Fix rider projectfilegenerator (Contributed by DecoyRS)
#rb none
#rnx

[CL 12779472 by Ben Marsh in Main branch]
2020-04-14 09:30:15 -04:00
josh adams
00fb0510ae - Added ability for a module to add additional directories (ConditionalAddModuleDirectory). Used for adding source files in Restricted (without needing the extra Build.cs files the way PlatformExtensions are set up).
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 12754541 via CL 12754548 via CL 12754551
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v678-12743200)

[CL 12754556 by josh adams in Main branch]
2020-04-13 10:18:08 -04:00
Ben Marsh
d6d7c939e5 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 12726184 by Ben Marsh in Main branch]
2020-04-10 11:30:32 -04:00
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
joakim lindqvist
89d2be1d3e Fixed VsCode error failing to find omnisharp extension.
It has been renamed by microsoft so updated to the new name.

#jira UE-90312
#rb none
#lockdown stefan.boberg

#ushell-cherrypick of 12504900 by Joakim.Lindqvist

#ROBOMERGE-SOURCE: CL 12504970 in //UE4/Release-4.25/... via CL 12504971 via CL 12504977
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12504979 by joakim lindqvist in Main branch]
2020-04-01 06:36:54 -04:00
ben marsh
4a408fa900 UBT: Ignore any targets that can't be built on the current host platform when generating intellisense data for project files.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 12232883 in //UE4/Release-4.25/... via CL 12232888
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12234793 by ben marsh in Main branch]
2020-03-17 15:11:31 -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
ec8016f074 UBT: Add a BuildConfiguration setting for forcing UBT to be built in debug configuration (VCProjectFileGenerator/bBuildUBTInDebug).
#rb none
#jira

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

[CL 12169955 by ben marsh in Main branch]
2020-03-13 23:17:56 -04:00
ryan vance
02bb20415f Copy up from DS to Main
#rb CopyUp



#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.vance
#ROBOMERGE-SOURCE: CL 12149088 via CL 12150247
#ROBOMERGE-BOT: (v659-12123632)

[CL 12150618 by ryan vance in Main branch]
2020-03-12 14:08:52 -04:00
josh adams
5482171bf2 - Removed extra Engine directory under the UE4 project above the Platforms directory (Platforms was the only folder in the Engine folder)
#jira UE-89854
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 11827890 in //UE4/Release-4.25/... via CL 11827895
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11827996 by josh adams in Main branch]
2020-03-02 11:48:53 -05:00
ben marsh
e03ee48fbd Fix exception due to directory not existing when creating VSCode project.
#rb none
#jira UE-89684
#rnx

#ROBOMERGE-SOURCE: CL 11661535 in //UE4/Release-4.25/... via CL 11661587
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11661659 by ben marsh in Main branch]
2020-02-27 11:44:52 -05:00
anthony bills
1ef400627b Add support for whitelisting additional plugins and adding additional modules to plugin extensions.
Additionally allow monolithic programs inside platform extensions to ouput to the Binaries directory in the extension.

[at]brian.white, [at]josh.adams, [at]ben.marsh
#jira UE-81798
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 11655119 in //UE4/Release-4.25/... via CL 11655234
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11655284 by anthony bills in Main branch]
2020-02-27 10:47:20 -05:00
ben marsh
0f201db161 Add support for UAT script projects using foreign engine builds, and for game projects to output binaries under their own project directory.
* UAT will now read each *.Automation.csproj file to determine the output path, and load from there rather than just loading anything under Engine\Binaries\AutomationScripts.
* When compiling *.Automation.csproj files, UAT will set the $(EngineDir) directory to the current engine directory, allowing the project to resolve assembly references to the correct location.
* When generating project files, UBT will create an *.Automation.csproj.props file next to the project containing the path to the engine directory, allowing the assembly to be compiled correctly from Visual Studio.

#rb none
#jira UE-77934

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

[CL 11601659 by ben marsh in Main branch]
2020-02-25 09:26:12 -05:00