Commit Graph

81 Commits

Author SHA1 Message Date
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
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
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
Mikolaj Sieluzycki
3483da7d5a Stop UHT from emiting warnings on missing *_Validate and *_Implementation functions
Introduce versioning system to GENERATED_*BODY macros
Search for existing functions using case sensitive and whole word match.
Move checks for existing of *_Validate and *_Implementation functions to *generated.cpp to allow changing that code in hotfixes.
#codereview Robert.Manuszewski

[CL 2508131 by Mikolaj Sieluzycki in Main branch]
2015-04-10 06:02:22 -04:00
Ben Marsh
3a7e022d4c Generate build receipts from UBT, which keep a record of all the files written for a target and records any metadata needed to stage or deploy it.
[CL 2501101 by Ben Marsh in Main branch]
2015-04-03 10:25:57 -04:00
Ben Marsh
0116941f19 Shorten the -precompilemodules argument to -precompile, and -useprecompiledmodules to -useprecompiled.
[CL 2493651 by Ben Marsh in Main branch]
2015-03-27 09:13:06 -04:00
Matthew Griffin
6de5ee48a4 Added checks on distribution level for modules and the direct dependencies of binaries
Changed Module Manager so that it adds restricted directories to modified PATH if they exist, removed unnecessary recursive use of FindModulePathsInDirectory
Updated setup of any projects that were flagged up using this system
Added old locations of restricted output to junk manifest
Added Util function to get min/max of IComparable types (used for enums)

[CL 2493565 by Matthew Griffin in Main branch]
2015-03-27 07:15:32 -04:00
Ben Marsh
dc179de867 Add a "InShippingBuildsOnly" setting for code optimization, so it's possible to disable optimization for engine modules in Development/DebugGame configurations.
[CL 2487683 by Ben Marsh in Main branch]
2015-03-23 09:00:18 -04:00
Ben Marsh
28cdace9af Add separate monolithic nodes to build precompiled binaries (AKA Rocket static libraries) for each target platform. GUBP_GetConfigsForPrecompiledBuilds() in the target properties allows a target to specify which platform/configuration combinations to build.
[CL 2487228 by Ben Marsh in Main branch]
2015-03-21 15:21:14 -04:00
Ben Marsh
442988e642 Add support for precompiling modules separately to the -BuildRocket argument. Targets can specify modules which can be precompiled by overriding the GetModulesToPrecompile() function in their target rules. Running UBT with the -PrecompileModules argument will generate them in the form of static libraries for monolithic builds, or extra DLLs for non-monolithic builds, and running UBT with the -UsePrecompiledModules argument will use them.
[CL 2485993 by Ben Marsh in Main branch]
2015-03-20 08:25:23 -04:00
Jaroslaw Palczynski
6c305898e0 UE-8578: Slate Widget fails to compile once added to a new project
Slate Widget was failing, because of missing Slate dependencies. Testing introduced a couple of problems which all was fixed by this CL:
1. I introduced AdditionalDependencies in .uproject file and change "Add Code To Project..." procedure to fill this array if needed. UBT reads this field and builds the project with required modules. Needed for Slate classes.
2. Changed UHT to #include missing headers in generated.h files if it was missing an include for it's super class. It was causing problems if we were trying to add a subclass of BrushShape -- BrushShape.h didn't have #include "Brush.h" and UBrushShape was inheriting from UBrush.
3. Above problems also occured for Slate classes, but not all of them was UCLASSes, so I had to fixed that manually.
4. "Add Code To Project..." functionality was not invalidating UBT makefiles, which lead to omitting new source files during hot-reloading (even thought it was reporting a success). This change also should improve a bit performance, cause right now there is no "gathering" step -- there is only invalidate step which is a lot quicker.
5. Fixed "Selected Class Source" link to source class in Slate Widget and Slate Widget Style class.

#codereview Robert.Manuszewski

[CL 2481488 by Jaroslaw Palczynski in Main branch]
2015-03-17 09:34:18 -04:00
Ben Marsh
f1e4616bf1 Back out changelist 2478517
[CL 2478555 by Ben Marsh in Main branch]
2015-03-13 10:52:15 -04:00
Ben Marsh
51b5ffa24e Remove some more unnecessary ref keywords.
[CL 2478517 by Ben Marsh in Main branch]
2015-03-13 10:21:51 -04:00
Kellan Carr
25e98db6bb build script, support specific shared packages being moved in front of shared package trigger
[CL 2478481 by Kellan Carr in Main branch]
2015-03-13 09:50:42 -04:00
Ben Marsh
bdc31fdec8 Create targets using the TargetDescriptor, rather than separating the fields out and passing them all to constructors individually. Makes it easier to extend, and is an awful lot easier to read. Also change the target's GameName field to TargetName, which is what everything seems to actually require.
[CL 2477318 by Ben Marsh in Main branch]
2015-03-12 15:35:46 -04:00