Commit Graph

623 Commits

Author SHA1 Message Date
peter engstrom
6da65b072e Use forward slashes in include paths.
#rb ben.marsh
#rnx


#ROBOMERGE-SOURCE: CL 5667718 via CL 5667743 via CL 5667748 via CL 5667751 via CL 5668993

[CL 5668997 by peter engstrom in Main branch]
2019-04-01 10:37:55 -04:00
bart hawthorne
6ffd1eb661 Fix issue where live++ recompile would execute old hotreload system code that would trigger an exception in monolithic builds
[FYI] ben.marsh


#ROBOMERGE-SOURCE: CL 5563075 via CL 5564799

[CL 5564894 by bart hawthorne in Main branch]
2019-03-26 17:42:19 -04:00
ben marsh
d8368d1ba8 Fix missing plugin error at startup.
#jira


#ROBOMERGE-SOURCE: CL 5459335 via CL 5461952

[CL 5462074 by ben marsh in Main branch]
2019-03-19 19:46:03 -04:00
ben marsh
531d8f8037 UBT: Make mismatched supported target platforms an error.
#jira


#ROBOMERGE-SOURCE: CL 5459241 via CL 5460114

[CL 5460172 by ben marsh in Main branch]
2019-03-19 17:09:05 -04:00
ben marsh
c352ceeb91 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-SOURCE: CL 5459133 via CL 5459920

[CL 5460056 by ben marsh in Main branch]
2019-03-19 17:07:12 -04:00
ben marsh
51a7bd931d 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-SOURCE: CL 5458343 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5458360 by ben marsh in Main branch]
2019-03-19 15:06:20 -04:00
ben marsh
b93ac8449a 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-SOURCE: CL 5447578 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5447579 by ben marsh in Main branch]
2019-03-19 08:47:08 -04:00
michael trepka
9644ac4edd UBT: Fixed Copy Action on Mac and Linux for paths containing space character
#jira UE-71448
#rb trivial

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

[CL 5383068 by michael trepka in Main branch]
2019-03-13 11:12:57 -04:00
ben marsh
eeb6345cd1 UBT: Add additional timing info into logs.
#rb none
#rnx
#jira

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

[CL 5316167 by ben marsh in Main branch]
2019-03-06 13:30:40 -05: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
ben marsh
c1806516a1 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-SOURCE: CL 5295902 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5308945 by ben marsh in Main branch]
2019-03-05 18:48:32 -05:00
ben marsh
16025624f0 UBT: Allow modules to disable PCHs entirely by setting PCHUsage = PCHUsageMode.NoPCHs.
#rb none
#jira

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

[CL 5240327 by ben marsh in Main branch]
2019-02-28 12:53:23 -05:00
Josh Adams
d0bf843c9c - 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: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024

[CL 5226277 by Josh Adams in Main branch]
2019-02-27 11:57:17 -05:00
ben marsh
e01c30a45d Add a better error message when trying to use a module that is not included in an installed build.
#rb none
#jira

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

[CL 5225284 by ben marsh in Main branch]
2019-02-27 10:41:09 -05:00
Ben Marsh
f5ee0c05f5 Add a flag which allows overriding the shared compile environment with custom build settings.
#rb none

[CL 5200081 by Ben Marsh in Main branch]
2019-02-26 10:25:40 -05:00
ben marsh
5d18969ff1 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: ben.marsh
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5175655 via CL 5175725

[CL 5177123 by ben marsh in Main branch]
2019-02-25 13:20:57 -05:00
ben marsh
a4d8c964bb UBT: Add a new target setting (bAdaptiveUnityDisablesPCHForProject) which allows overriding the "bAdaptiveUnityDisablesPCH" setting for project-specific code.
[FYI] Bob.Tellez


#ROBOMERGE-SOURCE: CL 5107683 via CL 5108227

[CL 5108254 by ben marsh in Main branch]
2019-02-21 10:28:23 -05:00
ben marsh
6f0ce80693 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-SOURCE: CL 4988259 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4988260 by ben marsh in Main branch]
2019-02-13 17:34:52 -05:00
ben marsh
8547f02ddc UBT: Fix module manifest not being updated correctly when -ModuleWithSuffix is passed on the command line.
#rb none
#rnx
#jira UE-69366

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

[CL 4968440 by ben marsh in Main branch]
2019-02-12 09:39:51 -05:00
ben marsh
6a9b5949cb UBT: Prevent hot reload attempting to build non-C++ modules.
#rb none
#jira UE-69518

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

[CL 4968346 by ben marsh in Main branch]
2019-02-12 09:36:00 -05:00
david harvey
006ec9b620 enable XMA2 streaming on platforms that support it
#rb aaron.mcleran


#ROBOMERGE-SOURCE: CL 4935528 via CL 4935535 via CL 4940171

[CL 4941360 by david harvey in Main branch]
2019-02-07 20:55:21 -05:00
david harvey
bc4a249bcf add missing XMA2 streaming define, currently disabled.
#rb none


#ROBOMERGE-SOURCE: CL 4931727 via CL 4931729 via CL 4939897

[CL 4939959 by david harvey in Main branch]
2019-02-07 19:38:20 -05:00
ben marsh
9cf6e99585 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-SOURCE: CL 4877079 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4877081 by ben marsh in Main branch]
2019-02-01 23:04:39 -05:00
Ben Marsh
9655b03674 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

[CL 4827582 by Ben Marsh in Main branch]
2019-01-28 22:59:56 -05:00
Ben Marsh
42b5125002 UBT: Validate that runtime dependencies from restricted folders are not copied into public folders.
#rb none
#rnx

[CL 4820177 by Ben Marsh in Main branch]
2019-01-26 06:24:17 -05:00