Commit Graph

131 Commits

Author SHA1 Message Date
ben marsh
11f022162f Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) [at] 6944469
#rb none
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 6944849 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7089689 by ben marsh in Dev-Build branch]
2019-06-19 08:52:32 -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
Ben Marsh
7d3da16a4f UBT: Allow the project file generator to correctly handle multiple modules in programs.
#rb none

[CL 6378395 by Ben Marsh in Dev-Build branch]
2019-05-08 16:24:18 -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
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
6cecf89d14 UBT: Expose all the options for configuring the project file generator to the BuildConfiguration.xml files.
#rb none
#fyi Donal.MacCarthy

[CL 5708626 by Ben Marsh in Dev-Build branch]
2019-04-03 09:11:22 -04:00
Ben Marsh
305c1e8512 UBT: Exclude any source files in a ThirdParty folder from the generated solution, not just those under Engine/Source/ThirdParty. There are a lot of large third party modules in engine plugins.
#rb none

[CL 5618127 by Ben Marsh in Dev-Build branch]
2019-03-27 20:04:42 -04:00
Ben Marsh
07e535411b Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 5435186 by Ben Marsh in Dev-Build branch]
2019-03-18 16:38:36 -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
c58bb3b972 UBT: Include other files in the project directory within the generated projects.
#rb none
#rnx
#jira

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5271663 in //UE4/Release-4.22/... via CL 5271664
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5274379 by ben marsh in Dev-Build branch]
2019-03-01 21:00:43 -05:00
Ben Marsh
0f79d0e564 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4979967 by Ben Marsh in Dev-Build branch]
2019-02-12 21:08:26 -05:00
Ben Marsh
6bef1a9def UBT: Remove code to add the -Monolithic option when generating intellisense data. This only exists to prevent intellisense errors because the DLLEXPORT and DLLIMPORT macros are mismatched for the project containing all modules; we can achieve this by explicitly modifying the macros instead.
#rb none
#rnx

[CL 4686059 by Ben Marsh in Dev-Build branch]
2019-01-07 15:09:52 -05:00
Ben Marsh
973932605e UBT: Fix project file generator including all projects in the workspace in the solution, even if a specific project file is specified.
#rb none
#rnx

[CL 4685376 by Ben Marsh in Dev-Build branch]
2019-01-07 12:21:18 -05:00
Ben Marsh
7ad281502a UBT: Don't assume the default architecture for a platform is the empty string. It's not on Linux, which causes warnings when generating project files.
#rb none
#jira UE-68019
#rnx

[CL 4682487 by Ben Marsh in Dev-Build branch]
2019-01-04 14:51:43 -05:00
Ben Marsh
ab043601f1 UBT: Remove the project dependency on ShaderCompileWorker being compiled for any project targets. Instead, SCW is built through the same UBT invocation that builds the editor, allowing files to be built in parallel. This also removes the dependency on ShaderCompileWorker being built for non-editor targets (since Visual Studio does not support per-configuration project dependencies).
#rb none

[CL 4681497 by Ben Marsh in Dev-Build branch]
2019-01-04 10:58:28 -05:00
Ben Marsh
bd434e9387 UBT: Convert the -SingleFile= argument to be per-target.
#rb none
#rnx

[CL 4671876 by Ben Marsh in Dev-Build branch]
2018-12-20 12:10:57 -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
5b31a8c5a5 PR #5356: Modified fix to accommodate default build environment being set to shared by the time Intellisense is being gathered.
#rb none
#rnx

[CL 4669424 by Ben Marsh in Dev-Build branch]
2018-12-18 19:46:33 -05:00
Ben Marsh
0270d8f66a UBT: Add a cache for source file metadata (containing text from the first include directive, and a flag for whether the file contains reflection markup). Replaces the previous include dependency cache, since we now only require the first include directive. Saves ~2s whenever UHTModuleInfo array has to be regenerated.
#rb none

[CL 4668325 by Ben Marsh in Dev-Build branch]
2018-12-18 10:21:34 -05:00
Ben Marsh
f01ddb51ae UBT: Add support for building multiple targets in parallel.
* A makefile is now constructed for each target, and the outdated actions are combined into a single graph before execution.
* Makefiles are used in all build modes, regardless of whether they are saved to disk, and represent the vector by which a target's build actions are passed to the executor.
* The -JsonExport= argument has been removed, and a separate JsonExport mode has been added (invoke with eg. "-Mode=JsonExport UE4Editor Win64 Development")
* Multiple action history files are kept open at one time, and a hierarchy is used for each target.

#rb none

[CL 4667512 by Ben Marsh in Dev-Build branch]
2018-12-17 20:49:30 -05:00
Ben Marsh
2073022699 UBT: Rename UBTMakefile to TargetMakefile.
#rb none
#rnx

[CL 4665132 by Ben Marsh in Dev-Build branch]
2018-12-16 21:20:19 -05:00
Ben Marsh
0c9707d678 UBT: Use compiler-generated dependency information for source file dependencies. This ensures that the dependency list is accurate, and makes incremental builds more reliable.
* A standalone Win32 application called cl-filter is used to parse output from running the Visual Studio compiler with the /showIncludes option, and generate a dependency list similar to Clang.
* Actions which produce an external dependency list declare it explicitly. If the dependency list is missing, or any of the contents are out of date, the action is rebuilt.
* The contents of dependency lists are cached by the CppDependencyCache class for future iterations.

#rb none

[CL 4665060 by Ben Marsh in Dev-Build branch]
2018-12-16 14:22:47 -05:00
ahaczewski
84ca76f90f PR #5356: UE-67548: UBT: Fix for IntelliSense generation for game projects using engine source (Contributed by ahaczewski)
#rb none
#rnx

[CL 4662991 by Ben Marsh in Dev-Build branch]
2018-12-14 15:42:55 -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
Ben Marsh
d142b482cf UBT: Removing a few unused/unnecessary properties and accessors, and moving the GetSupportedPlatforms() method from UEBuildTarget to TargetRules.
#rb none
#rnx

[CL 4643907 by Ben Marsh in Dev-Build branch]
2018-12-08 15:58:08 -05:00