Commit Graph

171 Commits

Author SHA1 Message Date
Ben Marsh
18e26e7a2d Allow UBT to find a matching PluginInfo for a module, even if the target hasn't specified that it's using that plugin. Fixes issue where UFE was adding VisualStudioSourceCodeAccess as a dependent module directly, which was causing it to be output to the Binaries/Win64 folder rather than the plugin directory.
#codereview Peter.Sauerbrei

[CL 2527709 by Ben Marsh in Main branch]
2015-04-27 19:27:54 -04:00
Ben Marsh
57d92dc12b Remove another use of the AllPlugins array in UEBuildTarget, and use a single code path for determining whether a plugin is enabled for a given platform.
[CL 2520897 by Ben Marsh in Main branch]
2015-04-22 09:12:37 -04:00
Ben Marsh
dc7a7448fc Remove FindValidPlugins() again.
[CL 2520555 by Ben Marsh in Main branch]
2015-04-21 22:23:34 -04:00
Ben Marsh
93af3340ce Back out changelist 2520528
[CL 2520548 by Ben Marsh in Main branch]
2015-04-21 22:14:47 -04:00
Ben Marsh
8ef4758cac Setup the list of enabled plugins before setting up the platform build environment, allowing PS4 to directly check whether the target includes Morpheus.
#codereview Marcus.Wassmer

[CL 2520528 by Ben Marsh in Main branch]
2015-04-21 21:36:47 -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
ac0321f91a Hack to allow portal to link against the MessagingDebugger module, even though it's marked as editor-only, and the Portal doesn't even use that plugin.
#codereview Michael.Noland

[CL 2520482 by Ben Marsh in Main branch]
2015-04-21 20:52:21 -04:00
Ben Marsh
7b6a7d2e89 Temporary fix for UdpMessaging being referenced from targets that don't have the plugin enabled.
[CL 2520119 by Ben Marsh in Main branch]
2015-04-21 17:42:01 -04:00
Ben Marsh
ba80561f55 Only build enabled plugins in modular builds. It wastes time to building things locally that aren't enabled. Specifying the -precompile option still builds everything, which should be enough for artist builds and Rocket.
[CL 2519867 by Ben Marsh in Main branch]
2015-04-21 16:11:18 -04:00
Ben Marsh
9416a7c2e3 Remove global map for plugin module names. Each target now uses plugin information only when it's initialized.
[CL 2519785 by Ben Marsh in Main branch]
2015-04-21 15:42:12 -04:00
Ben Marsh
0e07cb785e Remove another global plugin module name loookup.
[CL 2519736 by Ben Marsh in Main branch]
2015-04-21 15:16:38 -04:00
Ben Marsh
e55e9c85c8 Formatting changes.
[CL 2519172 by Ben Marsh in Main branch]
2015-04-21 09:50:57 -04:00
Josh Adams
a745a8e071 - Removed code that shouldn't have been checked in
#codereview ben.marsh

[CL 2518472 by Josh Adams in Main branch]
2015-04-20 18:33:42 -04:00
Ben Marsh
a2560dd3d3 Store the generated code directory on the module object in UBT, so we don't need to query global plugin state to figure it out.
[CL 2518418 by Ben Marsh in Main branch]
2015-04-20 18:05:25 -04:00
Ben Marsh
91e7fd286e Fix "EnabledByDefault" plugins not being compiled as part of targets.
[CL 2517061 by Ben Marsh in Main branch]
2015-04-19 16:09:57 -04:00
Ben Marsh
208957aa7f Implement PluginDescriptor and ModuleDescriptor in UBT in an identical way to the engine. Also add a wrapper for objects parsed by fastJSON, that allows easier retrieval of typed fields.
[CL 2517026 by Ben Marsh in Main branch]
2015-04-19 12:03:48 -04:00
Ben Marsh
b45a4d4c2b Use the shared build environment settings to pick an output directory for generated headers, and put generated headers for plugins in the plugin directory. Doing so allows Rocket to install generated headers again (which should fix some intellisense issues), and allows read-only plugins to be installed into the engine directory.
[CL 2516819 by Ben Marsh in Main branch]
2015-04-18 16:00:44 -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
3a4bce5b5f Fix exception if plugin module does not have a rules file.
[CL 2515718 by Ben Marsh in Main branch]
2015-04-17 08:32:45 -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
9e28f96c03 Add an accurate "IsMonolithic" setting to TargetInfo, rather than just guessing from the target type.
#codereview Dmitry.Rekman

[CL 2509862 by Ben Marsh in Main branch]
2015-04-12 13:49:25 -04:00
Ben Marsh
aad9dc3ee7 Separate code for generating executable paths into its own function; it has different logic to everything else in MakeBinaryPaths().
[CL 2509850 by Ben Marsh in Main branch]
2015-04-12 12:04:10 -04:00
Ben Marsh
57d56e2173 Remove handling of null TargetRules in UEBuildTarget constructor. There are already plenty of places that *don't* check for it being null, so I assume that this code path is long abandoned.
[CL 2509839 by Ben Marsh in Main branch]
2015-04-12 11:33:47 -04:00
Ben Marsh
fac4fb7069 Allow target rules to specify which build configuration doesn't have the -Platform-Configuration suffix appended to all binaries.
[CL 2509827 by Ben Marsh in Main branch]
2015-04-12 10:51:07 -04:00
Ben Marsh
4bf7ea8c61 Remove the unused AppName parameter from MakeBinaryPaths.
[CL 2509629 by Ben Marsh in Main branch]
2015-04-11 14:29:55 -04:00