Commit Graph

626 Commits

Author SHA1 Message Date
ben marsh
a65006ccfc UBT: Add additional timing info into logs.
#rb none
#rnx
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5312405 in //UE4/Release-4.22/... via CL 5316167
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5331237 by ben marsh in Dev-Networking branch]
2019-03-06 18:43:05 -05:00
ben marsh
7c46cc6b4c 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: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5326306 by ben marsh in Dev-Networking branch]
2019-03-06 18:19:24 -05:00
ben marsh
1f47bb216c Fix settings for enabling shadow variable and undefined identifier warnings not being treated as requiring a unique PCH. Also fix shared PCHs not enabling each by default. The compiler (at least on Windows) does not produce a warning/error on this mismatch, but does not respect the different settings passed via the command line.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5295902 in //UE4/Release-4.22/... via CL 5308945
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5325986 by ben marsh in Dev-Networking branch]
2019-03-06 18:18:34 -05:00
ben marsh
0141672c00 UBT: Allow modules to disable PCHs entirely by setting PCHUsage = PCHUsageMode.NoPCHs.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5240326 in //UE4/Release-4.22/... via CL 5240327
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5256131 by ben marsh in Dev-Networking branch]
2019-02-28 18:27:55 -05:00
josh adams
86071fdfce - Merging Dev-Kairos/Engine/... to Main/Engine/...
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024 via CL 5226277
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5246044 by josh adams in Dev-Networking branch]
2019-02-28 17:14:17 -05:00
ben marsh
a3ebb7cc2c Add a better error message when trying to use a module that is not included in an installed build.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5215521 in //UE4/Release-4.22/... via CL 5225284
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5244970 by ben marsh in Dev-Networking branch]
2019-02-28 17:08:11 -05:00
ben marsh
fd2f7ea094 Add a flag which allows overriding the shared compile environment with custom build settings.
#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5200081 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5204981 by ben marsh in Dev-Networking branch]
2019-02-26 13:27:00 -05:00
ben marsh
694be867ee UBT: Add support for writing a header containing the public compile environment for modules in the primary binary of a target (including all *_API macros in 'export' mode). To use, set ExportPublicHeader = "Foo.h" from the target.cs file.
#jira
[CODEREVIEW] Josh.Adams
#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5175655 via CL 5175725 via CL 5177123
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5186508 by ben marsh in Dev-Networking branch]
2019-02-25 17:11:26 -05:00
ben marsh
7c1ac2034e UBT: Add a new target setting (bAdaptiveUnityDisablesPCHForProject) which allows overriding the "bAdaptiveUnityDisablesPCH" setting for project-specific code.
[FYI] Bob.Tellez

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5107683 via CL 5108227 via CL 5108254
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5140876 by ben marsh in Dev-Networking branch]
2019-02-22 06:19:31 -05:00
ben marsh
152b53fa41 UBT: Don't throw an exception when scanning for restricted folder references from modules that are precompiled; they don't have source code, so won't have a list of source directories.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4988259 in //UE4/Release-4.22/... via CL 4988260
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5079978 by ben marsh in Dev-Networking branch]
2019-02-19 18:40:23 -05:00
ben marsh
604212760f UBT: Fix module manifest not being updated correctly when -ModuleWithSuffix is passed on the command line.
#rb none
#rnx
#jira UE-69366

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4957024 in //UE4/Release-4.22/... via CL 4968440
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5073806 by ben marsh in Dev-Networking branch]
2019-02-19 17:25:34 -05:00
ben marsh
d54a597ff1 UBT: Prevent hot reload attempting to build non-C++ modules.
#rb none
#jira UE-69518

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4952727 in //UE4/Release-4.22/... via CL 4968346
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5073728 by ben marsh in Dev-Networking branch]
2019-02-19 17:25:10 -05:00
david harvey
e15a385d71 enable XMA2 streaming on platforms that support it
#rb aaron.mcleran

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 4935528 via CL 4935535 via CL 4940171 via CL 4941360
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5068789 by david harvey in Dev-Networking branch]
2019-02-19 15:44:15 -05:00
david harvey
774c1d8c2c add missing XMA2 streaming define, currently disabled.
#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 4931727 via CL 4931729 via CL 4939897 via CL 4939959
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 5068660 by david harvey in Dev-Networking branch]
2019-02-19 15:40:04 -05:00
Peter Engstrom
3d8c226dd9 Use forward slashes in include paths
#rb ben.marsh

[CL 4968469 by Peter Engstrom in Dev-Networking branch]
2019-02-12 09:40:04 -05:00
ben marsh
adad9435d9 UBT: Prevent DebugGame compile environment from having different ORIGINAL_FILE_NAME macro to the development build environment. This is only needed when compiling resources for binaries. Also prevent the precompiled manifest being written to if it doesn't change.
#rb none
#jira UE-69434

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4877079 in //UE4/Release-4.22/... via CL 4877081
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4884678 by ben marsh in Dev-Networking branch]
2019-02-04 12:39:22 -05:00
ben marsh
3028faba18 Trigger a link error whenever a module is missing a valid IMPLEMENT_MODULE macro on Windows.
The IMPLEMENT_MODULE macro now defines an empty function called IMPLEMENT_MODULE_{ModuleName}, to which we force a reference to via the linker command line. This behavior can be disabled on a per-module basis by setting bRequiresImplementModule = false from a .build.cs file.

#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4827582 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4830013 by ben marsh in Dev-Networking branch]
2019-01-29 05:14:09 -05:00
ben marsh
27de437fb8 UBT: Validate that runtime dependencies from restricted folders are not copied into public folders.
#rb none
#rnx

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4820177 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4820182 by ben marsh in Dev-Networking branch]
2019-01-26 06:24:34 -05:00
ben marsh
0814ccc88b Fix executables not being rebuilt whenever the user's selected icon changes on Windows.
* The icon file is now added as a dependency when compiling resource files.
* The path to the chosen icon file is saved into an "external build metadata" section of the makefile, so that removing or adding the file can cause the makefile to be invalidated on startup.

#rb none
#jira UE-68906

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4812841 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4812847 by ben marsh in Dev-Networking branch]
2019-01-25 12:08:08 -05:00
jack porter
2bbc43bc53 Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) Souce CL: 4806680
#lockdown: Nick.Penwarden
#rb None

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 4806726 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4806733 by jack porter in Dev-Networking branch]
2019-01-24 20:39:08 -05:00
robert manuszewski
be36beb7e4 Copying //UE4/Dev-Core [at] 4771952 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 4772220 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4782699 by robert manuszewski in Dev-Networking branch]
2019-01-23 09:49:18 -05:00
ben marsh
274f393899 Convert project file path to absolute before passing on the command line to UBT.
#rb none
#jira UE-68863

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4771381 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4782695 by ben marsh in Dev-Networking branch]
2019-01-23 09:49:02 -05:00
aaron mcleran
ed7878cd8f Implementing cook-time analysis data
#rb Ethan.Geller

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 4748946 via CL 4748948 via CL 4748951 via CL 4748954
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4748970 by aaron mcleran in Dev-Networking branch]
2019-01-17 19:53:03 -05:00
ben marsh
cf4a18955c Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4718806 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4718825 by ben marsh in Dev-Networking branch]
2019-01-14 12:15:37 -05:00
lina halper
76003579dd Copying //UE4/Dev-Anim to Main (//UE4/Main)
[FYI] Laurent.Delayen, Thomas.Sarkanen
#rb: none
#lockdown thomas.sarkanen

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: lina.halper
#ROBOMERGE-SOURCE: CL 4715449 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4715461 by lina halper in Dev-Networking branch]
2019-01-11 22:36:30 -05:00