Commit Graph

37 Commits

Author SHA1 Message Date
Max Chen
e4d4965491 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 7774443 by Max Chen in Dev-Editor branch]
2019-08-05 15:48:51 -04:00
Chris Gagnon
d7d4ee7b38 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) at CL 7473521
#rb none
#fyi Max.Chen, Tim.Gautier

[CL 7614721 by Chris Gagnon in Dev-Editor branch]
2019-07-24 15:05:52 -04:00
ben marsh
ef3c866b47 LiveCoding: Prevent object files being overwritten during a live coding compile. Object files are now built with a .lc suffix, leaving the original files intact. This ensures it can gather COFF data from the correct executables on relaunch, and means that any existing changes will be patched in as soon as the first Live Coding compile is initiated. Should fix several issues.
#rb none
#jira UE-76940, UE-76993, UE-76943

#ROBOMERGE-SOURCE: CL 7321451 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v371-7306989)

[CL 7321452 by ben marsh in Main branch]
2019-07-16 08:51:35 -04:00
Max Chen
4561801a81 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) @7119039
#rb none

[CL 7120528 by Max Chen in Dev-Editor branch]
2019-06-21 01:21:43 -04:00
ben marsh
814a1088bd Live Coding: Fix support for lazy loading modules. Now passes UBT a list of modules that can be updated, and UBT fails the build and writes out a list of others that would be modified. Live Coding console then loads those modules and retries.
#rb none
#jira UE-74679

#ROBOMERGE-SOURCE: CL 6960867 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v366-6836689)

[CL 6966783 by ben marsh in Main branch]
2019-06-12 23:22:20 -04:00
Chris Gagnon
9f1505e469 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6671275 by Chris Gagnon in Dev-Editor branch]
2019-05-29 20:48:56 -04:00
Ben Marsh
0cc6e3dca6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
Chris Gagnon
812b127109 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6525730 by Chris Gagnon in Dev-Editor branch]
2019-05-15 19:27:16 -04:00
ben marsh
9ab666905e UBT: Add utility methods for correcting paths to match their case on disk, and fix issues with inconsistent paths when cross-compiling for Linux.
#rb none
#jira UE-72267
#jira UE-72904

#ROBOMERGE-SOURCE: CL 6441346 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 6441352 by ben marsh in Main branch]
2019-05-14 08:39:53 -04:00
Chris Gagnon
00f8b72a0b Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 5602170 by Chris Gagnon in Dev-Editor branch]
2019-03-27 15:03:08 -04:00
ben marsh
cf183af67c Integrating live coding feature (aka Live++) into UE4.
Allows fast iteration of C++ changes without restarting the application. To use, select the "Live Coding (Experimental)" mode from the drop down menu next to the editor's compile button, or type "LiveCoding" into the console for a monolithic build. Press Ctrl+Alt+F11 to find changes and compile.

Changes vs standalone Live++ version:

* UBT is used to execute builds. This allows standard UE4 adaptive unity mode, allows us to reuse object files when we do regular builds, supports using any build executor allowed by UBT (XGE, SNDBS, etc..).
* Adding new source files is supported.
* Custom visualizer for FNames is supported via a weakly linked symbol in a static library (Engine/Extras/NatvisHelpers).
* Settings are exposed in the editor's project settings dialog.
* Standalone application has been rewritten as a Slate app ("LiveCodingConsole"). There is an additional option to start the program as hidden, where it will not be visible until Ctrl+Alt+F11 is hit. Similarly, closing the window will hide it instead of closing the application.
* Does not require a standalone licensed version of Live++.

Known issues:

* Does not currently support class layout changes / object reinstancing

#rb none
[FYI] Marc.Audy, Stefan.Boberg, Nick.Penwarden
#jira

#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5309051 by ben marsh in Main branch]
2019-03-05 18:49:25 -05:00
Chris Gagnon
a48e767b94 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4835066 by Chris Gagnon in Dev-Editor branch]
2019-01-29 16:15:19 -05:00
Ben Marsh
2bfecb09c8 Convert project file path to absolute before passing on the command line to UBT.
#rb none
#jira UE-68863

[CL 4771381 by Ben Marsh in Main branch]
2019-01-22 13:22:54 -05:00
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
Ben Marsh
a22b952aa9 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 4718806 by Ben Marsh in Main branch]
2019-01-14 12:11:24 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Ben Marsh
dab09818ff UBT: Remove code for querying UHT DLL versions. This pathway no longer works, because we don't compile the changelist into binaries. Instead, check the receipt is newer than any build products (which also works on all platforms).
#rb none

[CL 4674707 by Ben Marsh in Dev-Build branch]
2018-12-27 09:43:18 -05:00
Ben Marsh
e6dfd54d25 UBT: Parse hot reload parameters in the target descriptor.
#rb none
#rnx

[CL 4673059 by Ben Marsh in Dev-Build branch]
2018-12-21 15:39:38 -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
b4e5d0ee81 UBT: If UnrealHeaderTool needs rebuilding, do so from the same process rather than spawning a child UBT instance. This is significantly faster, since we're already fully initialized and have cached a lot of state.
#rb none

[CL 4671843 by Ben Marsh in Dev-Build branch]
2018-12-20 11:29:04 -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
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
99e5c128e6 UBT: Fix exception in debug visualizer for TargetDescriptor when arguments is null.
#rb none
#rnx

[CL 4643837 by Ben Marsh in Dev-Build branch]
2018-12-08 13:59:23 -05:00
Ben Marsh
4c5e2a0724 UBT: Store the project file on each target descriptor, and remove the need for a single "global" active project at any one time. Add support for specifying multiple targets on the command line via -Target arguments (eg. -Target="UnrealHeaderTool Win64 Development" -Target="UnrealPak Win64 Development"), and multiple platforms and configurations via + characters (eg. "UE4Editor Win64 Debug+Development")
#rb none

[CL 4625702 by Ben Marsh in Dev-Build branch]
2018-12-03 17:34:46 -05:00
Ben Marsh
8ffa740219 UBT: Replace UProjectInfo with the NativeProjects class, which caches the list of native projects to the engine. Foreign projects do not need to be registered with it, and the list of native projects is found on demand.
#rb none
#rnx

[CL 4623538 by Ben Marsh in Dev-Build branch]
2018-12-03 09:44:24 -05:00