Commit Graph

314 Commits

Author SHA1 Message Date
Ben Marsh
066e7f2059 Stop UBT creating an intermediate directory in Engine/Source when compiling a plugin against UE4Game (which it then warns about on subsequent runs)
[CL 2564807 by Ben Marsh in Main branch]
2015-05-26 08:37:36 -04:00
Ben Marsh
b0d5ba9801 Fix calls to IsCompiledInConfiguration() which rely on UBT's global state. The function is called from UBT, where this information is not accurate.
[CL 2563566 by Ben Marsh in Main branch]
2015-05-22 18:26:58 -04:00
Ben Marsh
0664b38ebb Fix linking against static libraries which have circular references back to the original binary. Plugins depend on other engine modules, but linking a monolithic game should not add a library dependency on the monolithic executable.
[CL 2562433 by Ben Marsh in Main branch]
2015-05-22 08:57:34 -04:00
Ben Marsh
3fa69c2498 Fix dependencies of precompiled modules being linked into the game binary. Was causing CEF to be linked in to UE4Game in Rocket, causing launch-on to fail.
* Plugin modules are now explicitly added into the modules list for the binaries they're going to be a part of (this wasn't possible before we supported modules being in static libraries AND a DLL/EXE at the same time)
* Receipt now only includes runtime dependencies for things which are actually runnable

[CL 2561193 by Ben Marsh in Main branch]
2015-05-21 14:47:55 -04:00
Ben Marsh
de01742a61 More robust filtering of platform-specific plugins; only removes platform folders which are above the engine or project root.
#codereview Mark.Satterthwaite

[CL 2554927 by Ben Marsh in Main branch]
2015-05-18 09:56:56 -04:00
Steve Robb
499def698b UBT cleanups:
* Removal of some null checks.
* Some arrays changed to Lists.
* Some lists changed to IEnumerables.
* Some loops changed to Linq actions.
* FilterOnlyModules and FilterGameModules renamed to GetFiltered* functions, which better represent what they do.
* Some indentation fixes.
* Some thrown exceptions moved around to more appropriate locations.

#codereview robert.manuszewski

[CL 2554771 by Steve Robb in Main branch]
2015-05-18 08:16:56 -04:00
Ben Marsh
6c7611d129 Fix some optional modules not being hooked up to their precompiled binaries when running in Rocket. Fixes OnlineSubsystemNull/OnlineSubsystemSteam link errors for ShooterGame.
[CL 2554067 by Ben Marsh in Main branch]
2015-05-16 11:27:47 -04:00
Steve Robb
1c3da60ac2 Re-enabling makefiles.
#codereview robert.manuszewski

[CL 2553208 by Steve Robb in Main branch]
2015-05-15 13:57:43 -04:00
Jaroslaw Palczynski
0449062ef4 UE-15116: Engine *.generated.cpp files change during hot-reload
#codereview Robert.Manuszewski

[CL 2550523 by Jaroslaw Palczynski in Main branch]
2015-05-14 08:05:11 -04:00
Steve Robb
57b2567e3d Makefiles disabled by default.
#codereview robert.manuszewski

[CL 2550488 by Steve Robb in Main branch]
2015-05-14 06:03:17 -04:00
Ben Marsh
92890dda05 Use a clean compile environment to build shared PCHs, instead of reusing the current module compile environment.
#codereview Mike.Fricker

[CL 2548754 by Ben Marsh in Main branch]
2015-05-13 07:52:34 -04:00
Mike Fricker
ca39745810 Renamed WinUAP platform to UWP
- Microsoft renamed Universal App Platform to Universal Windows Platform
- https://msdn.microsoft.com/en-us/library/dn894631.aspx

[CL 2547380 by Mike Fricker in Main branch]
2015-05-12 12:00:23 -04:00
Ben Marsh
6b1d263572 Make bEnableShadowVariableWarnings a per-module setting, so we don't break reuse of shared build intermediates.
#codereview Marc.Audy, Wes.Hunt

[CL 2547047 by Ben Marsh in Main branch]
2015-05-12 08:03:21 -04:00
Martin Mittring
0d85991359 added AyncCompute feature for XboxOne from Lionhead
[CL 2545676 by Martin Mittring in Main branch]
2015-05-11 13:50:05 -04:00
Steve Robb
dbd595a52f UEBuildTarget stores its .Target.cs filename.
UEBuildModule stores its .Module.cs filename.
UEBuildTarget stores a map of dictionaries from module names to .Target.cs files.
Timestamps of serialized .Target.cs and .Module.cs files compared against makefile and used for invalidation.

More sensible Dictionary logic in ConditionallyCompileAndLoadRulesAssembly.
InstantiateModule can no longer return a null.
UEBuildModule constructors no longer default.

#codereview robert.manuszewski

[CL 2543446 by Steve Robb in Main branch]
2015-05-08 15:19:00 -04:00
Richard Fawcett
80c6c0201a UBT: Fix generation of Manifest.xml path when we don't have a project directory.
#codereview Ben.Marsh

[CL 2543010 by Richard Fawcett in Main branch]
2015-05-08 11:54:26 -04:00
Jeff Campeau
cf48eb78f0 Fix issue deploying games with invalid characters in names or ABCD style guids.
Added some default values for project setup.
Added type support to default value macros for manifest settings.
Added a macro for manifest generation that filters all non-alphanumeric or dot characters (this is a common requirement for manifest fields).
Filtered game name with alphanumericdot and productid with guid type to support projects that didn't use the same format as some others.

[CL 2541236 by Jeff Campeau in Main branch]
2015-05-07 12:19:58 -04:00
Ben Marsh
adcc25c7f6 Fix UBT handling for content-only plugins, where the module array in the descriptor is null.
[CL 2538515 by Ben Marsh in Main branch]
2015-05-05 20:10:55 -04:00
Ben Marsh
02cc1b74a2 Fix various issues being able to package a plugin using the installed engine build.
[CL 2538419 by Ben Marsh in Main branch]
2015-05-05 18:52:17 -04:00
Mike Fricker
65bbc0e732 Initial Unreal Build Tool support for Visual Studio 2015 and UAP (disabled by default)
- Merged in Microsoft's Unreal Build Tool changes for VS 2015 support, and Universal App Platform support
- VS 2015 support is disabled by default (the engine is not yet compiling with VS 2015)
- Use the new '-2015' option when generating project files to enable VS 2015 support
- Windows SDK 8.1 is used by default.  To use Windows SDK 10, enable WindowsPlatform.bUseWindowsSDK10
- UAP support is disabled (not supported yet, work in progress.)  Use WinUAPPlatform.bEnableUAPSupport to enable it.
- Various loose ends still remain (search for "@todo UAP" in Unreal Build Tool code)

[CL 2537920 by Mike Fricker in Main branch]
2015-05-05 15:32:10 -04:00
Ben Marsh
a503253013 Don't remove plugins for the 'Desktop' target platform if we don't have the UEBuildPlatform registered. It breaks a LOT of things if you download the engine to your desktop.
#codereview Josh.Adams

[CL 2535030 by Ben Marsh in Main branch]
2015-05-02 19:23:51 -04:00
Ben.Marsh
2ef0928b0c [INTEGRATE] Change 2534938 by Ben.Marsh@Ben.Marsh_T3245_Main on 2015/05/02 14:39:44
Fix crash with OnlyModules being null; not sure how UBT got into this state.

[CL 2534942 by Ben Marsh in Main branch]
2015-05-02 14:41:09 -04:00
Steve Robb
b4540c3450 OnlyModules list created during deserialization to prevent later crash.
#codereview robert.manuszewski

[CL 2534144 by Steve Robb in Main branch]
2015-05-01 15:45:41 -04:00
Ben Marsh
88b274d2ec Add UAT script to build a plugin for distribution. Includes UBT support for writing plugin descriptors, and compiling single plugins at a time.
[CL 2533688 by Ben Marsh in Main branch]
2015-05-01 10:58:14 -04:00
salamanderrake
27ccfbd723 PR #806: KDevelop Project Generation (UE-9427).
- Contributed by salamanderrake.
- Cosmetic differences from the PR.
- Also removed filtering out Windows/Mac/etc directories when generating a qmake project since it makes code navigation worse.

[CL 2532165 by Dmitry Rekman in Main branch]
2015-04-30 13:15:34 -04:00