Commit Graph

14 Commits

Author SHA1 Message Date
Ben Marsh
df83418aeb Auto-format UBT for consistent spacing. All default Visual Studio settings, but tabs instead of spaces.
[CL 2704665 by Ben Marsh in Main branch]
2015-09-24 12:37:21 -04:00
Ben Marsh
9610023ca5 Use FileReference and DirectoryReference classes instead of strings for paths. Massively reduces the amount of paranoid calls to GetFullPath(), CleanDirectorySeparators() et al., and improves performance for really common UBT operations like making relative paths or checking if files are under a directory. Strong typing ensures that intention of parameters is explicit.
[CL 2678429 by Ben Marsh in Main branch]
2015-09-03 08:47:24 -04:00
Ben Marsh
0a89383b5a Explicitly compile the rules assembly and pass it around as a parameter, rather than caching it as global state in RulesCompiler.
[CL 2674051 by Ben Marsh in Main branch]
2015-08-31 10:33:16 -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
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
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
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
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
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Josh Adams
ddea2d2fe0 - Changed UBT to allow for multiple OutputPaths in a given UE binary (this is needed by Android to output multiple .so files per UBT run, for armv7, x86, etc)
#codereview ben.marsh

[CL 2281777 by Josh Adams in Main branch]
2014-09-02 14:26:49 -04:00
Mike Fricker
a3ab85edcc UnrealBuildTool: Even faster build iteration with bUseExperimentalFastBuildIteration
- Shaved over *half a second* of the best case iterative build times with UnrealBuildTool
- When assembling a build from an existing UBTMakefile, we now load Target information from the makefile instead of from the C# assembly

[CL 2278065 by Mike Fricker in Main branch]
2014-08-29 15:46:20 -04:00
Robert Manuszewski
8498aae74f Hot-reload from IDE
#change UBT: Added support for hot-reload when UBT is called from IDE and the current target is curring
#change Added support for hot-reload from VS to the engine
#change Refactored hot-reload functionality to a separarte module
#change Added hot-reload analytics events

[CL 2255801 by Robert Manuszewski in Main branch]
2014-08-14 03:37:01 -04:00
Bob Tellez
ab8c090a38 UE4: Removed bCompileNetworkProfiler. USE_NETWORK_PROFILER is now true whenever STATS is also true. Also, removed some platform-specific code in NetworkProfiler.cpp
[CL 2082160 by Bob Tellez in Main branch]
2014-05-22 14:04:35 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00