Commit Graph

111 Commits

Author SHA1 Message Date
Ben Marsh
1cc0be0a06 Separate all the project specific settings for a platform into a separate class (derived from UEBuildPlatformContext), and remove the last few references to the global .uproject file path. Checks for SupportsWindowsXP() are now done inside the toolchain.
#codereview Peter.Sauerbrei

[CL 2711835 by Ben Marsh in Main branch]
2015-09-30 16:40:04 -04:00
Ben Marsh
a1bfbcd0d5 Split the ModifyModuleRules() method into two parts; one which is called only for the active platform (ModifyModuleRulesForActivePlatform), and one which is called on all platforms for a host platform (ModifyModuleRulesForOtherPlatform).
[CL 2709436 by Ben Marsh in Main branch]
2015-09-29 10:44:49 -04:00
Ben Marsh
1adc540d76 Instance UEBuildPlatform for each supported platform so we don't have to keep passing an UnrealTargetPlatform back into it, and separate the SDK logic for each group of platforms into a separate class (UEBuildPlatformSDK). Add a new factory class (UEBuildPlatformFactory) for creating them and binding them together.
[CL 2709253 by Ben Marsh in Main branch]
2015-09-29 08:56:10 -04:00
Ben Marsh
291c6dd533 Merge UEBuildPlatform.GetExtraModules() and UEBuildPlatform.SetupBinaries(), because they were being used for the same purpose.
[CL 2707277 by Ben Marsh in Main branch]
2015-09-27 14:50:58 -04:00
Ben Marsh
0aa484bda0 Toolchains are now instanced to allow storing project and target specific configuration details. Required for UBT to support multiple targets. Removed IUEToolChain, which wasn't being used directly.
[CL 2707252 by Ben Marsh in Main branch]
2015-09-27 13:05:49 -04:00
Ben Marsh
385dcb4a3d Instance deployment handlers, rather than having a single shared instance. Required to support multiple build targets in UBT. Creation is through a method on the UEBuildPlatform.
[CL 2706031 by Ben Marsh in Main branch]
2015-09-25 08:37:49 -04:00
Ben Marsh
2802f43c08 Convert everything in UBT to use standard C# XML comments, so IntelliSense can display useful information in tooltips.
[CL 2704759 by Ben Marsh in Main branch]
2015-09-24 13:47:13 -04:00
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
James Moran
2ac5e6735a Adding GUID to .emscripten build files to allow easy re-gen of files in case of change or programmer error.
Fixes UE-20591.

[CL 2693204 by James Moran in Main branch]
2015-09-16 05:35:30 -04:00
Ben Marsh
511af0caa7 Only add shader format and target platform modules as dependencies of the TargetPlatform module. Adding them for every single module in a target has a huge effect on the number of modules we need to resolve (UEBuildTarget.FindOrCreateModuleByName() was being called 200,000 times when generating project files, thanks to SCW and UFE triggering these code paths).
#codereview Peter.Sauerbrei

[CL 2684709 by Ben Marsh in Main branch]
2015-09-09 11:03:25 -04:00
Ben Marsh
09aa8b2f62 Reduce time taken to generate receipts by using the target's view of the required modules, rather than recursively finding them from all the binaries. Also use the FileReferences for build products to optimize the way we escape build product paths.
[CL 2681758 by Ben Marsh in Main branch]
2015-09-05 18:10:25 -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
42c53cf179 Change IUEBuildPlatform.ModifyNewlyLoadedModule to IUEBuildPlatform.ModifyModuleRules(). Only modifying the rules object rather than the implementation itself makes it easier to optimize caching module references.
[CL 2672146 by Ben Marsh in Main branch]
2015-08-28 07:27:26 -04:00
James Moran
a892538094 Fix handling of spaces in emcc path.
Fix Optimizer path on Mac
fix jira-19532 part 2

[CL 2647762 by James Moran in Main branch]
2015-08-07 07:10:38 -04:00
Ben Marsh
dd08437233 Rename BuildReceipt to TargetReceipt, to clarify its purpose.
[CL 2629145 by Ben Marsh in Main branch]
2015-07-22 13:10:12 -04:00
Ankit Khare
9f0dbaee08 #html5 fix packaging when prebuildsync was not called ( packaging content only games, sync'd from perforce)
[CL 2622371 by Ankit Khare in Main branch]
2015-07-15 16:37:24 -04:00
Ankit Khare
ce28ed2dfd #html5 html5 sdk has a race condition when handling temporary folders in a custom location. Fix by removing offiending code in the SDK and recreate the temp folder in UBT before build.
#codereview james.moran , ben.marsh

[CL 2620387 by Ankit Khare in Main branch]
2015-07-14 13:06:21 -04:00
Ankit Khare
da60e1c22b #html5 move emscripten cache to platform intermediate dir. fix an issue with CL 261593 where PlatformIntermediateFolder was not set during packaging, using explicit name instead.
#codereview james.moran

[CL 2615600 by Ankit Khare in Main branch]
2015-07-09 15:31:44 -04:00
James Moran
76ab578ac3 Override '.emscripten' config file location for UBT builds.
#codereview ankit.khare

[CL 2614969 by James Moran in Main branch]
2015-07-09 09:12:36 -04:00
Ankit Khare
03b4dcc227 #html5 correct sanity check for the emscripten config file, always recreate if not created by UE4 build system.
[CL 2612909 by Ankit Khare in Main branch]
2015-07-07 17:16:21 -04:00
Ankit Khare
9b38554ee8 UEPLAT-826 : use HTML5 SDK from third party directories.
- Always pickup HTML5 sdk from third party directory.
   - Use the new html5 template by default.

[CL 2610587 by Ankit Khare in Main branch]
2015-07-04 18:45:54 -04:00
Ben Marsh
e0a010415b Treat shadow variable warnings as errors in non-unity builds.
[CL 2582001 by Ben Marsh in Main branch]
2015-06-09 18:14:52 -04:00
Ankit Khare
6d20221f39 Use a response file instead of spawning a process with a really long command line. #html5
[CL 2581646 by Ankit Khare in Main branch]
2015-06-09 15:17:07 -04:00
Ben Marsh
16473b93ed Turn shadow variable warnings back into warnings; they are breaking too many builds.
#codereview Marc.Audy

[CL 2561102 by Ben Marsh in Main branch]
2015-05-21 13:59:00 -04:00
Ankit Khare
d95352df87 UE-15926 : missing symbols file.
make sure the the generated symbols file is checked in.

#codereview josh.adams

[CL 2559399 by Ankit Khare in Main branch]
2015-05-20 15:30:36 -04:00