Commit Graph

94 Commits

Author SHA1 Message Date
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
be2b506c24 Simplify check for detecting an engine module whether to disable optimizations in DebugGame; just look if it's under the engine directory.
[CL 2519330 by Ben Marsh in Main branch]
2015-04-21 11:27:37 -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
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
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
d2180e5f18 Don't force adding a module to a binary, even if we create it. Some targets have dependencies on include paths from other modules, but those modules never actually get built. (UnrealFileServer has an indirect dependency on DDCUtils this way, but it's not actually part of the target even though the module exists a bIncludeInTarget gets set).
[CL 2509637 by Ben Marsh in Main branch]
2015-04-11 15:31:07 -04:00
Ben Marsh
395c3bdbbe Reduce the number of codepaths used for creating new binary modules.
[CL 2509610 by Ben Marsh in Main branch]
2015-04-11 13:09:16 -04:00
Ben Marsh
c0bd5ceb7a Remove unused parameter to UEBuildBinaryConfiguration constructor for bCompileMonolithic.
[CL 2508396 by Ben Marsh in Main branch]
2015-04-10 11:24:13 -04:00
Ben Marsh
1645d1a9f7 Remove monolithic setting from binary configuration, so we can make "monolithic-ness" more of a pick-and-mix affair. Only used by shared PCH handling in two places:
* Shared PCHs were disabled for static libraries in monolithic builds -> now disabled for static libraries in all builds
* Modules could not use their own shared PCH in non-monolithic builds due to exports -> now disabled if their binary has exports

#codereview Mike.Fricker

[CL 2508390 by Ben Marsh in Main branch]
2015-04-10 11:19:40 -04:00
Ben Marsh
cb356578a7 Remove unnecessary variables from UEBuildBinaryConfiguration.
[CL 2508328 by Ben Marsh in Main branch]
2015-04-10 10:20:45 -04:00
Ben Marsh
2b4b95566a Remove the output path override for modules. I can't see any code path that it would still trigger it, as FixupOutputPath() seems to require a "Binaries" substring, but the only possible values for OutputDirectory are (1) the compiler intermediate directory, or (2) a substring of the module rules path.
[CL 2508232 by Ben Marsh in Main branch]
2015-04-10 08:32:38 -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
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
adfde6fb16 Remove some UBT abuses of the "ref" keyword.
[CL 2487191 by Ben Marsh in Main branch]
2015-03-21 11:34:08 -04:00
Ben Marsh
c4c411f61d Removing last few calls to BuildingRocket()!
* Import libraries are added to the build manifest whenever precompiling modules
* UHT now just generates headers to the project directory, and headers aren't included in the engine distribution. UHT was generating them anyway, just not writing them.
* Plugins binaries now just use UE4Game prefix in Rocket (since that's where they're built from), rather than using a special name.
* Platform-specific plugins are not explicitly excluded from builds - will be stripped out by directory instead
* XMPP is not manually excluded from Rocket builds.
* Removed BuildingRocket() function.

[CL 2487163 by Ben Marsh in Main branch]
2015-03-21 07:58:39 -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
Ben Marsh
afcea3489a Remove BuildingRocket() special case for output paths. I don't think we build anything that would trigger this code-path in Rocket anyway, but even then - it seems like the function just ends up being a no-op anyway.
[CL 2484357 by Ben Marsh in Main branch]
2015-03-19 09:17:24 -04:00
Max Preussner
63eed5c28f UBT: Fixed public library path settings being ignored in build rules
#CodeReview: ben.marsh

[CL 2402187 by Max Preussner in Main branch]
2015-01-09 14:43:46 -05:00
Mike Fricker
47381d84ea UnrealBuildTool: Cleaning up UBT Makefile support in preparation for wide testing
- Collapsed and renamed some of the new UBT settings for fast build iteration
- New 'BuildConfiguration.bUseUBTMakefiles' that replaces the old experimental settings (defaults to off in this changelist.)
- Cleaned up some comments
- No effective changes

[CL 2400071 by Mike Fricker in Main branch]
2015-01-07 14:16:46 -05:00
Robert Manuszewski
af346e0af6 Fixing UE4Game target's UELinkerFixups not adding the PCH include path
[CL 2393028 by Robert Manuszewski in Main branch]
2014-12-18 16:32:27 -05:00
Robert Manuszewski
ec6c87d529 Shortening UELinkerFixups compiler command line length even more
[CL 2392987 by Robert Manuszewski in Main branch]
2014-12-18 15:42:28 -05:00
Robert Manuszewski
86052cb11c UBT: Temporary change (hack) to get the command line length down for UE4LinkerFixups
[CL 2391358 by Robert Manuszewski in Main branch]
2014-12-17 12:37:39 -05:00
Mike Fricker
c0183b1f52 Added Unreal Build Tool performance diagnostic info for shared precompiled header usage
- Requires BuildConfiguration.bPrintPerformanceInfo to be enabled

[CL 2391093 by Mike Fricker in Main branch]
2014-12-17 09:40:26 -05:00
Mike Fricker
0e094f0588 UnrealBuildTool: Don't mix RTTI modes when compiling modules using shared PCHs
[CL 2388591 by Mike Fricker in Main branch]
2014-12-15 11:34:00 -05:00