Commit Graph

646 Commits

Author SHA1 Message Date
ryan durand
2060337e9d UE-72225
Merging in fixes to better support SNDBS in UBT with use of cl-filter.

#lockdown ben.marsh
#rnx
#rb none
#jira UE-72225

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 6489426 in //UE4/Release-4.22/... via CL 6489461
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6529324 by ryan durand in Dev-VR branch]
2019-05-16 03:21:17 -04:00
ben marsh
e357715701 Live Coding: Fix crashes when patching adaptive non-unity files in game modules containing static global variables.
Live++ reads object files at startup for game modules, and assigns unique ids to each compiland (used to disambiguate static variables). When compiling the patch, these compilands are modified to reference a unique id for the unity blob, causing the variables to be reconstructed.

Solution is to generate a JSON file to each output directory containing object files containing the mapping, and to use that to assign compiland ids at startup.

#rb none
#jira UE-74036

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6455253 in //UE4/Release-4.22/... via CL 6455273
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6512984 by ben marsh in Dev-VR branch]
2019-05-15 16:17:53 -04:00
ben marsh
dc86c31790 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-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6441346 in //UE4/Release-4.22/... via CL 6441352
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6504717 by ben marsh in Dev-VR branch]
2019-05-15 15:05:00 -04:00
ben marsh
0376237b8a Fix exception when exporting JSON for SwarmInterface. Fixes CIS error with IncludeTool.
#rb none
#jira UE-72992

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5980951 in //UE4/Release-4.22/... via CL 5980952
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5986787 by ben marsh in Dev-VR branch]
2019-04-18 13:01:58 -04:00
ben marsh
bbb38cec28 Fixes to ListThirdPartySoftware script.
* Switched to use JsonExport mode in UBT.
* Added runtime dependencies into the output file.

#rb none
#rnx
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5959015 in //UE4/Release-4.22/... via CL 5959017
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5965188 by ben marsh in Dev-VR branch]
2019-04-17 21:17:28 -04:00
peter engstrom
3596561072 Use forward slashes in include paths.
#rb ben.marsh
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.engstrom
#ROBOMERGE-SOURCE: CL 5667718 via CL 5667743 via CL 5667748 via CL 5667751 via CL 5668993 via CL 5668997
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5670239 by peter engstrom in Dev-VR branch]
2019-04-01 13:02:06 -04:00
bart hawthorne
abb09908e2 Fix issue where live++ recompile would execute old hotreload system code that would trigger an exception in monolithic builds
[FYI] ben.marsh

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 5563075 via CL 5564799 via CL 5564894
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5585998 by bart hawthorne in Dev-VR branch]
2019-03-27 01:47:48 -04:00
ben marsh
f51b07e8f9 Fix missing plugin error at startup.
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5459335 via CL 5461952 via CL 5462074
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5480322 by ben marsh in Dev-VR branch]
2019-03-20 13:52:14 -04:00
ben marsh
c27594562e UBT: Make mismatched supported target platforms an error.
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5459241 via CL 5460114 via CL 5460172
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5480307 by ben marsh in Dev-VR branch]
2019-03-20 13:51:42 -04:00
ben marsh
a947a59b4f Add a warning when a plugin reference overrides the plugin's list of supported target platforms. Silently failing at build time will cause errors at runtime.
[FYI] Justin.Marcus
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5459133 via CL 5459920 via CL 5460056
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5479786 by ben marsh in Dev-VR branch]
2019-03-20 13:48:20 -04:00
ben marsh
8281e6e108 Fix exception when hot-reloading a module that contains an additional bundle resource. List of hot-reload build products for each module now only includes import library and DLL.
#rb none
#jira UE-71692

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5458343 in //UE4/Release-4.22/... via CL 5458360
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5476657 by ben marsh in Dev-VR branch]
2019-03-20 13:27:20 -04:00
ben marsh
cfe608feb7 UBT: Disable the "bAdaptiveUnityDisablesPCH" build flag by default. This significantly improves iteration times on individual files, at the risk of introducing missing headers. Will validate this in CIS instead.
#rb none
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5447578 in //UE4/Release-4.22/... via CL 5447579
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5471223 by ben marsh in Dev-VR branch]
2019-03-20 13:00:26 -04:00
Ryan Vance
35eb0041ab Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
#rb integration

[CL 5387703 by Ryan Vance in Dev-VR branch]
2019-03-13 15:19:08 -04:00
ben marsh
e8e9181dfa UBT: Add additional timing info into logs.
#rb none
#rnx
#jira

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

[CL 5333415 by ben marsh in Dev-VR branch]
2019-03-06 19:15:59 -05:00
ben marsh
e40dec9ee0 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5329502 by ben marsh in Dev-VR branch]
2019-03-06 18:34:25 -05:00
ben marsh
8ab4063a30 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5295902 in //UE4/Release-4.22/... via CL 5308945
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5329285 by ben marsh in Dev-VR branch]
2019-03-06 18:33:28 -05:00
ben marsh
946b3616ed UBT: Allow modules to disable PCHs entirely by setting PCHUsage = PCHUsageMode.NoPCHs.
#rb none
#jira

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

[CL 5257163 by ben marsh in Dev-VR branch]
2019-02-28 18:38:17 -05:00
josh adams
019c12863e - 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.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024 via CL 5226277
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5244512 by josh adams in Dev-VR branch]
2019-02-28 17:06:02 -05:00
ben marsh
644ab189e7 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5215521 in //UE4/Release-4.22/... via CL 5225284
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5243533 by ben marsh in Dev-VR branch]
2019-02-28 17:00:30 -05:00
ben marsh
ac349c1ce9 Add a flag which allows overriding the shared compile environment with custom build settings.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5200081 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5223256 by ben marsh in Dev-VR branch]
2019-02-26 22:17:10 -05:00
ben marsh
e639816144 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5175655 via CL 5175725 via CL 5177123
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5221734 by ben marsh in Dev-VR branch]
2019-02-26 21:33:54 -05:00
ben marsh
4e281c68f9 UBT: Add a new target setting (bAdaptiveUnityDisablesPCHForProject) which allows overriding the "bAdaptiveUnityDisablesPCH" setting for project-specific code.
[FYI] Bob.Tellez

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5107683 via CL 5108227 via CL 5108254
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5213415 by ben marsh in Dev-VR branch]
2019-02-26 18:47:16 -05:00
ben marsh
a8e4b2ea72 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4988259 in //UE4/Release-4.22/... via CL 4988260
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5034267 by ben marsh in Dev-VR branch]
2019-02-16 07:56:55 -05:00
ben marsh
38a256cfc5 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.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4957024 in //UE4/Release-4.22/... via CL 4968440
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5030952 by ben marsh in Dev-VR branch]
2019-02-16 05:55:23 -05:00
ben marsh
f762e27764 UBT: Prevent hot reload attempting to build non-C++ modules.
#rb none
#jira UE-69518

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

[CL 5030939 by ben marsh in Dev-VR branch]
2019-02-16 05:54:58 -05:00