Commit Graph

23 Commits

Author SHA1 Message Date
Ben Marsh
6b65e69c7a Fix unity build error.
#rb none
#rnx

[CL 7277337 by Ben Marsh in Dev-Build branch]
2019-07-11 13:11:43 -04:00
Ben Marsh
1c6a3b0220 Merging Live++ 1.5.0
#rb none
#rnx

[CL 7277271 by Ben Marsh in Dev-Build branch]
2019-07-11 12:59:10 -04:00
Ben Marsh
ae2ee9b54a Live Coding: Prevent compiling from the IDE while a Live Coding session is active. Engine runtime creates a global mutex with the executable path in the a name and leaks the handle, then UBT checks for it existing before allowing a build to start.
#rb none
#jira UE-74438

[CL 6942240 by Ben Marsh in Dev-Build branch]
2019-06-11 16:51:23 -04:00
stefan boberg
285a908f86 Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: stefan.boberg
#ROBOMERGE-SOURCE: CL 6815521 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v365-6733468)

[CL 6821265 by stefan boberg in Dev-Build branch]
2019-06-03 19:09:16 -04:00
Ben Marsh
7170e4ccc1 Live Coding: Fix several issues related to using launch on / packaged builds with Live Coding.
* The original .uproject file is now compiled into monolithic executables when Live Coding is enabled. This allows invoking UBT with the original project file when the executable is staged to a different directory. This parameter can be overriden via the LiveCoding.SourceProject cvar.
* The original engine directory is also compiled into the executable. This allows finding the console executable path without having to enter it manually via the LiveCoding.ConsolePath cvar.
* If an exact match for a binary filename is not found, try to find a match by name only. Also required to support staged builds for 'Launch On', etc...
* Add a LiveCoding.Compile command to trigger a compile from the console.

#rb none
#jira UE-72677
#jira UE-72678
#jira UE-72683

[CL 6625676 by Ben Marsh in Dev-Build branch]
2019-05-23 20:41:59 -04:00
Ben Marsh
6ce07c75dd Live Coding: Enable live coding for modules during the first Tick() call, to prevent other modules loaded during initialization being added later.
#rb none
#jira UE-74945

[CL 6608137 by Ben Marsh in Dev-Build branch]
2019-05-22 13:29:57 -04:00
Ben Marsh
e60277ec4b LiveCoding: Add a target setting for using the debug version of the console application.
#rb none
#rnx

[CL 6605895 by Ben Marsh in Dev-Build branch]
2019-05-22 11:57:41 -04:00
Ben Marsh
e9f67d76f0 Live coding: Add multiple modules in one call at startup, rather than adding each module individuallly.
#rb none
#jira UE-74946

[CL 6605695 by Ben Marsh in Dev-Build branch]
2019-05-22 11:22:38 -04:00
Ben Marsh
d6fee0eb80 Merging latest version of Live++ (check timestamps on object files, support for adding multiple modules at once)
#rb none
#rnx

[CL 6605641 by Ben Marsh in Dev-Build branch]
2019-05-22 11:21:49 -04:00
Ben Marsh
fd2852f44f Update to latest version of Live Coding. Fixes issues with symbols not being stripped if they can throw an exception during construction.
#rb none

[CL 6602853 by Ben Marsh in Dev-Build branch]
2019-05-21 21:03:36 -04:00
marc audy
254e9d131e Fix non-unity
#rb
#rnx
[CODEREVIEW] Ben.Marsh
#jira

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 6007151 via CL 6007296 via CL 6007313
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 6011683 by marc audy in Dev-Build branch]
2019-04-19 08:33:30 -04:00
ben marsh
2e0ac43aeb LiveCoding: Prevent Live Coding starting automatically when in unattended mode.
#rb none
#jira UE-72524

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

[CL 5999860 by ben marsh in Dev-Build branch]
2019-04-18 21:27:17 -04:00
Ben Marsh
1e38db4e2c Merging early Live++ 1.4.3 changes.
#rb none

[CL 5920648 by Ben Marsh in Dev-Build branch]
2019-04-16 13:01:07 -04:00
Ben Marsh
5651dbf4cd Integrating changes from Live++ 1.4.1.
#rb none

[CL 5919984 by Ben Marsh in Dev-Build branch]
2019-04-16 12:46:58 -04:00
ben marsh
399b29d01c LiveCoding: Fix unnecessary newlines on log messages.
#jira

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5492012 via CL 5492936 via CL 5492937
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5510640 by ben marsh in Dev-Build branch]
2019-03-22 17:30:01 -04:00
ben marsh
6d5b9bd3f6 LiveCoding: Add support for lazy loading modules. This lets us enable live coding for the entire engine without a large startup penalty. Project modules are still preloaded by default.
#rb none
#jira

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

[CL 5457435 by ben marsh in Dev-Build branch]
2019-03-19 14:39:34 -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
a058380b2b Disable warning when building xxhash.c.
#rb none
#jira
#rnx

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

[CL 5330359 by ben marsh in Dev-Build branch]
2019-03-06 18:38:44 -05:00
ben marsh
f35e4e5b47 Suppress warning in static analysis.
#rb none
#jira
#rnx

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

[CL 5330355 by ben marsh in Dev-Build branch]
2019-03-06 18:38:42 -05:00
ben marsh
65f9b4a9cf Fix difference in scoping rules for extern'd variables declared inline under Clang.
#rb none
#rnx
#jira

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

[CL 5330351 by ben marsh in Dev-Build branch]
2019-03-06 18:38:40 -05:00
ben marsh
091af1a859 Fix copyright notices.
#rb none
#jira
#rnx

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

[CL 5328776 by ben marsh in Dev-Build branch]
2019-03-06 18:29:56 -05:00
ben marsh
d79019f42f Fixes for static analysis warnings.
#rb none
#jira

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

[CL 5328763 by ben marsh in Dev-Build branch]
2019-03-06 18:29:55 -05:00
ben marsh
49a498e69e 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-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5325555 by ben marsh in Dev-Build branch]
2019-03-06 18:16:41 -05:00