Commit Graph

95 Commits

Author SHA1 Message Date
Mike Fricker
0aadee3222 [INTEGRATE] Compile times: Fixed game plugin modules not able to use engine shared PCHs
- This change greatly improves compile times for game plugin modules
- Game modules never depend on the game itself, so there was no reason not to use shared PCHs by default

[CL 2649311 by Mike Fricker in Main branch]
2015-08-10 08:38:21 -04:00
Mike Fricker
659cb89e9c [INTEGRATE] UnrealBuildTool fixes for small modules
- Fixed small game-specific plugins always using non-unity and getting a unique PCH

- You can now override the default behavior of UBT which compiles small game modules for "fast iteration"
        - Many small game modules have a low frequency of iteration, and never need a unique PCH or non-unity enabled
        - You can use the following module-specific variables to override the default behavior:

                      MinSourceFilesForUnityBuildOverride = 1;
                      MinFilesUsingPrecompiledHeaderOverride = BuildConfiguration.MinFilesUsingPrecompiledHeader;

[CL 2648185 by Mike Fricker in Main branch]
2015-08-07 13:58:49 -04:00
Steve Robb
062ba9412f Makefiles enabled on Mac.
Explicit serialization functions used instead of reflection, to avoid deserialization problems on Mono.
Version number added to makefiles to allow versioning in future.
Makefiles still disabled if the host platform differs from the built platform, to continue to avoid any problems 'when building with RPCUtility'.

#codereview robert.manuszewski,michael.trepka

[CL 2643502 by Steve Robb in Main branch]
2015-08-04 11:20:50 -04:00
Matthew Griffin
48b7792c97 Fixed crash that could occur if source folder of a plugin was removed
GetModuleFilename returns an empty string if module can't be found, checking for null meant that it went ahead and tried to load it regardless.

[CL 2627121 by Matthew Griffin in Main branch]
2015-07-21 04:34:09 -04:00
Peter Sauerbrei
fc35305c51 changes to allow two projects to have the same plugin name
UEB-258
#codereview ben.marsh

[CL 2611443 by Peter Sauerbrei in Main branch]
2015-07-06 15:22:45 -04:00
Steve Robb
7661666dcb Error when a module is both a dependency and dynamically loaded.
Fixes for lots of existing modules by removing all dynamically loaded duplicates (this is probably not the correct solution, but is the safest).

#codereview robert.manuszewski

[CL 2610845 by Steve Robb in Main branch]
2015-07-06 05:46:20 -04:00
Lee Clark
d8c6aca65d SN-DBS support for distributed compilation of Win64 builds
* Modules that use #import (DatabaseSupport & VisualStudioSourceCodeAccessor) are forced to be built locally due to SN-DBS limitation . These are very small modules so have a minimal impact on build time.

#codereview Mike.Fricker

[CL 2610243 by Lee Clark in Main branch]
2015-07-03 05:23:01 -04:00
Steve Robb
db5429d360 AVX support in UnrealBuildTool.
#codereview robert.manuszewski

[CL 2604153 by Steve Robb in Main branch]
2015-06-29 12:24:33 -04:00
Ben Marsh
1bd03cb57f Allow targets to specify whether they want to build all plugins (rather than just the ones they have enabled), and turn it on for the vanilla UE4Editor target. Content-only projects may want to enable plugins, but they have no target to build.
[CL 2591851 by Ben Marsh in Main branch]
2015-06-18 08:41:17 -04:00
Kellan Carr
0a4c040e5a build script, remove fortnite promotable - allow code project builds with no promotable attached to them
[CL 2581455 by Kellan Carr in Main branch]
2015-06-09 13:21:22 -04:00
Terence Burns
bea0a014c5 Windows XP games now run without a 'not a valid win32 application' error. BootstrapPackagedGame had lost it's xp support.
UE-14290

[CL 2550926 by Terence Burns in Main branch]
2015-05-14 12:40:00 -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
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
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
Wes Hunt
c23521596d Fix some log output to use Environment.Newline
[CL 2525141 by Wes Hunt in Main branch]
2015-04-24 18:35:08 -04:00
Ben Marsh
24f3997488 Remove the global plugins array. Targets can figure out which plugins to enable for themselves, and that list isn't cross-pollenated with other targets.
[CL 2520938 by Ben Marsh in Main branch]
2015-04-22 09:37:04 -04:00
Ben Marsh
920c062de3 Fix list of enabled plugins in programs that reference plugin modules directly. Previously relying on UBT permitting references to any known modules, even if they weren't supposed to be included in the target.
[CL 2520514 by Ben Marsh in Main branch]
2015-04-21 21:22:15 -04:00
Ben Marsh
3f5363055c Remove the IsPluginModule() function; use a more explicit check against files in the engine source directory instead.
[CL 2519158 by Ben Marsh in Main branch]
2015-04-21 09:45:07 -04:00
Justin Sargent
f5585eaed8 Added support for programs to specify their own Solution Directory.
#codereview Ben.Marsh
Merging using UE4-To-UE4-LauncherDev

[CL 2517984 by Justin Sargent in Main branch]
2015-04-20 14:30:37 -04:00
Ben Marsh
28fe22e11b Move GetGeneratedCodeDirectoryForModule into UEBuildTarget, so it can make use of shared logic with figuring out output paths.
[CL 2516280 by Ben Marsh in Main branch]
2015-04-17 15:21:14 -04:00
Ben Marsh
8d276987bf Allow bunching game editors together in a single build node, and use it to group all the templates together.
[CL 2515699 by Ben Marsh in Main branch]
2015-04-17 08:15:17 -04:00
Ben Marsh
94bb83879f Set bPromoteEditorOnly to true by default. None of our games actually require this, and it gums up the build farm trying to make so much stuff.
#codereview Kellan.Carr

[CL 2515698 by Ben Marsh in Main branch]
2015-04-17 08:13:57 -04:00
Kellan Carr
0cd49b2087 build script, fortnite promotable does not depend on monolithics
[CL 2514560 by Kellan Carr in Main branch]
2015-04-16 13:30:21 -04:00
Ben Marsh
40f787df01 Allow targets to opt-in to using a shared build environment with other targets. Doing so allows intermediates and precompiled libraries (including plugins) to be used in the current build. Also move plugin output files and intermediates into the plugin directory.
[CL 2514398 by Ben Marsh in Main branch]
2015-04-16 11:55:56 -04:00
Ben Marsh
30deffbad0 Add Serializable keyword to TargetInfo for UBT makefiles.
[CL 2510296 by Ben Marsh in Main branch]
2015-04-13 10:01:26 -04:00