Commit Graph

511 Commits

Author SHA1 Message Date
Ben Marsh
1aba59a750 Allow rules assemblies to be empty, and not require any module source files to be loaded. The target may just use source files from the parent assembly.
[CL 2674648 by Ben Marsh in Main branch]
2015-08-31 16:44:02 -04:00
Ben Marsh
d87ae5fd1c Fix failure to get module filename for engine modules.
[CL 2674258 by Ben Marsh in Main branch]
2015-08-31 12:59:09 -04:00
Ben Marsh
28f7c6d8f9 Move the AddDefaultIncludePathsToModuleRules() function into UEBuildTarget, since it's not related to the RulesCompiler.
[CL 2674243 by Ben Marsh in Main branch]
2015-08-31 12:47:36 -04:00
Ben Marsh
d06ce0c4a0 Compile rules for the engine into separate assemblies than rules for each project, so we aren't redundantly compiling them more than once. Also compile rules for each foreign plugin into its own assembly. Reduces time taken to generate project files by almost half (~40s to ~26s) in local testing.
#codereview Peter.Sauerbrei

[CL 2674225 by Ben Marsh in Main branch]
2015-08-31 12:39:51 -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
Ben Marsh
a5870715bf Move the RulesAssembly class out of the RulesCompiler, so we don't have to rely on state in RulesCompiler.
[CL 2672933 by Ben Marsh in Main branch]
2015-08-28 16:02:15 -04:00
Ben Marsh
766278f542 Pass the module rules into the constructor module instances, rather than passing all the parameters individually. The number of things that get passed around is getting silly, and keeping the two things as ideologically separate is time consuming and hard to maintain.
[CL 2672163 by Ben Marsh in Main branch]
2015-08-28 08:39:42 -04:00
Mike Fricker
e85564743c [INTEGRATE] Unreal Build Tool: Adaptive unity builds (experimental!)
- New UBT support for "adaptive unity builds", which can greatly increase iterative compile times
- This feature allows UBT to keep track of which source files you're currently editing between runs
- UBT will exclude your "working set" source files from all unity blob files, allowing for fast iterative compiles!
- Currently, adaptive unity builds relies on files being writable vs. read-only to determine what you're working on (P4 edit)
- Enable this new feature in your BuildConfiguration.xml file.

    <BuildConfiguration>
           <bUseAdaptiveUnityBuild>true</bUseAdaptiveUnityBuild>
    </BuildConfiguration>

[CL 2671467 by Mike Fricker in Main branch]
2015-08-27 16:33:06 -04:00
Ben Marsh
5498742642 Escape characters in filenames which aren't valid in XML attributes.
[CL 2671097 by Ben Marsh in Main branch]
2015-08-27 12:46:47 -04:00
Ben Marsh
41418d33f7 Fix incorrect code to check whether a target receipt exists.
[CL 2669915 by Ben Marsh in Main branch]
2015-08-26 16:43:29 -04:00
Ben Marsh
2b9d41c10f Fix ability to compile foreign plugins against a target (required by BuildPlugin command in UAT).
[CL 2669317 by Ben Marsh in Main branch]
2015-08-26 11:16:36 -04:00
Ben Marsh
3d6c0e0a81 Convert target receipts to JSON, so they can be read early at startup like version manifests, and unify the way that target receipts and version manifests are loaded and saved.
[CL 2669100 by Ben Marsh in Main branch]
2015-08-26 08:25:10 -04:00
Mike Fricker
1baf60da5e [INTEGRATE] Fixed debug console spew enabled for Unity builds
[CL 2666201 by Mike Fricker in Main branch]
2015-08-24 12:35:56 -04:00
Mike Fricker
abc3f3c637 [INTEGRATE] Unreal Build Tool: Make Unity builds more deterministic
- Before creating unity blobs, we now sort all full file paths alphabetically
- This allows for better build system determinism across computers
- Important:  It's possible this checkin can introduce compile errors for projects that have outstanding non-unity issues!

[CL 2666189 by Mike Fricker in Main branch]
2015-08-24 12:27:44 -04:00
Wes Hunt
adceff0c22 Passing -verbose to UBT now actually sets the verbose log level and not just bPrintDebugInfo.
[CL 2664870 by Wes Hunt in Main branch]
2015-08-21 16:08:38 -04:00
Mikolaj Sieluzycki
bd6772b42b Fix hot reload issues on Mac. Don't write BOM to response files.
#codereview Robert.Manuszewski
#codereview Michael.Trepka

[CL 2664685 by Mikolaj Sieluzycki in Main branch]
2015-08-21 13:55:45 -04:00
Ben Marsh
db93204811 Reduce the amount of boilerplate log output when running UAT.
[CL 2662515 by Ben Marsh in Main branch]
2015-08-20 09:06:43 -04:00
Ben Marsh
93ee01c43e Remove unused variables from TargetReceipt.
[CL 2661248 by Ben Marsh in Main branch]
2015-08-19 13:46:30 -04:00
Michael Trepka
b2a3e1951c Rollback //depot/UE4/Engine/Source/Programs/UnrealBuildTool/System/XcodeProjectFileGenerator.cs to revision 128
[CL 2656693 by Michael Trepka in Main branch]
2015-08-14 16:29:35 -04:00
Ben Marsh
90450af082 Disable targets added just to give nice error messages by default when determining what should be built by default. Fixes trying to build SCW through its dummy target on PS4.
[CL 2655447 by Ben Marsh in Main branch]
2015-08-13 18:56:36 -04:00
Peter Sauerbrei
17b5b9cea5 add log display type as part of each log message
add -verbose=Level argument to be able to specify the verbosity level of logging, defaults to Log
#codereview ben.marsh, robert.manuszewski, paul.fazio

[CL 2654467 by Peter Sauerbrei in Main branch]
2015-08-13 09:00:22 -04:00
Ben Marsh
93352cb225 Prevent trying to build ShaderCompileWorker in non-Win64 platforms (Win64 is the only platform you can run the editor on directly).
[CL 2654464 by Ben Marsh in Main branch]
2015-08-13 08:55:10 -04:00
Michael Trepka
d5a4db5f86 Always compile ShaderCompileWorker along with the editor in Xcode
[CL 2653183 by Michael Trepka in Main branch]
2015-08-12 14:26:37 -04:00
Ben Marsh
6b1b6d9bf1 Always compile ShaderCompileWorker along with the editor.
[CL 2652931 by Ben Marsh in Main branch]
2015-08-12 12:13:26 -04:00
Ben Marsh
f4855c823b Avoid throwing exceptions if the path to .buildmutex files doesn't exist.
[CL 2652920 by Ben Marsh in Main branch]
2015-08-12 12:01:25 -04:00