Commit Graph

71 Commits

Author SHA1 Message Date
Marc Audy
e47a934672 Merge main stabilization changes back to //depot/UE4
#lockdown Ben.Marsh

[CL 2723377 by Marc Audy in Main branch]
2015-10-09 15:13:41 -04:00
Dmitry Rekman
a8a01b962d UBT: do not try to access registry unnecessarily.
- Can error out on Linux.

#codereview Ben.Marsh, Jeff.Campeau

[CL 2712630 by Dmitry Rekman in Main branch]
2015-10-01 08:53:52 -04:00
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
Jeff Campeau
1388452b5b VS2015 now the default toolchain for Windows
Fallback to 2013 is automatic if 2015 is not installed or a platform SDK is detected that doesn't support the new IDE
Manual override is available via -2013
#platformnotify Josh.Adams

[CL 2709701 by Jeff Campeau in Main branch]
2015-09-29 13:17:32 -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
a13190c7a7 Move setting for a target's preferred sub-platform into UEBuildConfiguration, rather than the target rules. Saves having to do hacky stuff like command line parsing from inside the build platform.
[CL 2707268 by Ben Marsh in Main branch]
2015-09-27 14:23:00 -04:00
Ben Marsh
b02ae25951 Pass the compile and link environment directly to UEBuildPlatform.SetupConfigurationEnvironment(), it breaks encapsulation to pass the target directly.
[CL 2707265 by Ben Marsh in Main branch]
2015-09-27 13:47:35 -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
Peter Sauerbrei
e706287759 Speed up reading and accessing ini files from UAT/UBT
#uat
#ubt
#codereview ben.marsh, wes.hunt

[CL 2691637 by Peter Sauerbrei in Main branch]
2015-09-15 09:29:42 -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
8f47b9be79 Move retrieval of VULCAN_SDK_PATH to a static variable; it gets called a lot when generating project files and shows up on profiles.
#codereview rolando.caloca

[CL 2681762 by Ben Marsh in Main branch]
2015-09-05 18:24:28 -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
Michael Noland
39e310cbe2 UBT: Exposed the ability to disable /largeaddressaware for Win32 compiles
[INTEGRATE] Change 2668376 by Michael.Noland@mnoland-T2784-HDepot on 2015/08/25 16:56:36

[CL 2668710 by Michael Noland in Main branch]
2015-08-25 19:45:46 -04:00
Rolando Caloca
0b1e397cb4 UE4 - New vk env var
[CL 2658095 by Rolando Caloca in Main branch]
2015-08-17 13:59:52 -04:00
Jeff Campeau
6e5b895a54 Disable DualShock and Morpheus support for VS2015
[CL 2651897 by Jeff Campeau in Main branch]
2015-08-11 17:29:08 -04:00
Josh Markiewicz
f8d83447e1 #Integration FN->Main from CL#2642868
Engine Source changes

[CL 2645403 by Josh Markiewicz in Main branch]
2015-08-05 15:54:57 -04:00
Rolando Caloca
0b148b053d UE4 - D3D12RHI (not working)
[CL 2620153 by Rolando Caloca in Main branch]
2015-07-14 10:56:01 -04:00
Lee Clark
9afb7e987d Fix failure when SCE env is missing.
[CL 2610320 by Lee Clark in Main branch]
2015-07-03 07:00:18 -04:00
Lee Clark
d8c6aca65d SN-DBS support for distributed compilation of Win64 builds
* Modules that use #import (DatabaseSupport & VisualStudioSourceCodeAccessor) are forced to be built locally due to SN-DBS limitation . These are very small modules so have a minimal impact on build time.

#codereview Mike.Fricker

[CL 2610243 by Lee Clark in Main branch]
2015-07-03 05:23:01 -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