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
b2acdadf67
Remove unnecessary UEBuildTarget parameter being passed to build platforms.
...
[CL 2707256 by Ben Marsh in Main branch]
2015-09-27 13:10:21 -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
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
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
Dmitry Rekman
3874b31cff
Linux: do not compile ICU for server targets.
...
- Saves memory/code size, and servers shouldn't need that (by default at least).
(Merging CL 2665433 to main)
[CL 2669117 by Dmitry Rekman in Main branch]
2015-08-26 08:49:08 -04:00
Dmitry Rekman
3d4c157110
Revert the previous change and disable XGE again.
...
- Modular builds (editor, UT server) seem to be broken by this since FixDeps step probably is not listing its prerequisites correctly.
#codereview Ben.Marsh
[CL 2644331 by Dmitry Rekman in Main branch]
2015-08-04 19:39:07 -04:00
Dmitry Rekman
85c1194619
Enabling XGE for Linux in hopes that the crashes are gone.
...
#codereview Ben.Marsh
[CL 2643908 by Dmitry Rekman in Main branch]
2015-08-04 15:22:37 -04:00
Dmitry Rekman
cc2bb0b833
UBT: switch to a clang 3.6.0 Linux cross-toolchain (again).
...
[CL 2592250 by Dmitry Rekman in Main branch]
2015-06-18 13:43:54 -04:00
Josh Adams
01c4d45e38
- Renamed Desktop target platform to AllDesktop to reduce conflicts with Desktop directories [UEPLAT-894]
...
#codereview peter.sauerbrei,ben.marsh
[CL 2588676 by Josh Adams in Main branch]
2015-06-16 11:09:27 -04:00
Dmitry Rekman
40699687fa
Rolled back Linux toolchain to clang 3.5.0 until Shooter compilation is fixed.
...
#codereview Steve.Robb
#lockdown Zachary.EdgertonJones
[CL 2490604 by Dmitry Rekman in Main branch]
2015-03-25 11:29:28 -04:00
Dmitry Rekman
0767242767
Switch UBT to use clang 3.6.0 Linux cross-toolchain.
...
- -Wno-inconsistent-missing-override suppressed, pending discussion with the Core team.
#codereview Steve.Robb, Robert.Manuszewski, Josh.Adams
[CL 2487976 by Dmitry Rekman in Main branch]
2015-03-23 13:07:46 -04:00
Josh Adams
99daf37ae1
Reverted changes in some files that shouldn't have been checked in that was trying to build D3D shader support for Mac
...
[CL 2448975 by Josh Adams in Main branch]
2015-02-17 13:52:02 -05:00
Josh Adams
56440f0048
- First checkin for the new DesktopTargetPlatform that will be able to cook packages for Windows, Mac, and Linux. So far, cooking on Windows and Mac and run on each other (with -opengl on Windows, since Mac can't currently compile D3D shaders)
...
[CL 2448658 by Josh Adams in Main branch]
2015-02-17 09:57:44 -05:00
Dmitry Rekman
71fb48396a
PR #776 : Enable aligned memory access for Linux ARM builds.
...
- Contributed by dmahashin.
[CL 2428770 by Dmitry Rekman in Main branch]
2015-02-02 17:14:05 -05: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
Dmitry Rekman
0dc3ccd3e0
Linux: support compiling for other architectures than x86_64.
...
[CL 2345608 by Dmitry Rekman in Main branch]
2014-10-30 19:44:12 -04:00
Dmitry Rekman
b0f0fc5af0
Compile CrashReportClient without ICU on Linux.
...
- Should fix TTP #349499 (FN servers missing reports).
- The other way to fix that issue is to include ICU data with server builds, although at least in our use case this seems to be additional hassle.
- A ticket (UECORE-14) has been filed to split CRC into headless server and client versions.
[CL 2329358 by Dmitry Rekman in Main branch]
2014-10-14 18:03:33 -04:00
Dmitry Rekman
b7442750eb
Disable XGE for Linux builds since it still crashes on farm.
...
#codereview Kellan.Carr, Ben.Marsh
[CL 2314803 by Dmitry Rekman in Main branch]
2014-09-30 15:59:01 -04:00