Commit Graph

75 Commits

Author SHA1 Message Date
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Ben Marsh
92ec2b8239 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).

Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.

Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)

Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Adding config entries to determine which platforms/configurations are available

	Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.

	A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.

Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Copying UnrealGameSync into Engine/Source/Programs.

Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)

Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.

Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.

Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.

	#codereview Matthew.Griffin

Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015

Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.

Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Restore change to gather VC environment directly from registry.

#lockdown Nick.Penwarden

[CL 2790002 by Ben Marsh in Main branch]
2015-12-04 09:32:58 -05: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
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
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
Jack Porter
33a51c03a7 UEMOB-32 - Support cooking various combinations of Android texture formats simultaneously
[CL 2698623 by Jack Porter in Main branch]
2015-09-21 01:23:29 -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
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
Chris Babcock
9c6add976a Keep the last export of each path from .bash_profile instead of the first one if not set in ini
#jira UE-19619
#ue4
#android
#codereview Michael.Trepka,Mark.Satterthwaite

[CL 2645674 by Chris Babcock in Main branch]
2015-08-05 18:10:38 -04:00
Chris Babcock
28d1b83a10 Use gnu-libstdc++ 4.8 for NDK level 19, and allow 4.9 for higher NDK levels
Only use ld.gold for Clang 3.6 if unity build
#jira UE-10647
#ue4
#android

[CL 2644345 by Chris Babcock in Main branch]
2015-08-04 19:58:25 -04:00
Chris Babcock
b199ac3845 Better handling of multiple Android build targets (copies proper .so)
#ue4
#android
#codereview Josh.Adams

[CL 2620274 by Chris Babcock in Main branch]
2015-07-14 11:53:53 -04:00
Chris Babcock
b6df0fec88 Android x86_64 support - pr #914 (also adds support for ndk-r10e clang 3.6)
#ue-11650
#ue4
#android
#codereview Josh.Adams

[CL 2590354 by Chris Babcock in Main branch]
2015-06-17 12:56:56 -04:00
Chris Babcock
e8ddfeb57a Fixed issue with GearVR plugin compiling into unsupported Android platforms
#1198
#ue4
#android

[CL 2575872 by Chris Babcock in Main branch]
2015-06-03 14:13:29 -04:00
Robert Jones
9e07b9d8d8 UEPLAT-831 - AndroidManifest.xml update for ES3.1 targets
- Changed MakeAPK loop so that it can deal with multiple manifests
- Removed ability to make a Fat APK from same code as we don't/won't use it

[CL 2566503 by Robert Jones in Main branch]
2015-05-27 09:21:57 -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
Robert Jones
8bd7aa8949 UE-14803 - Android Java files constantly being rewritten triggering rebuilds
- corrected bug in code which was detecting if a re-write of the file was required or not to prevent this problem happening

[CL 2533437 by Robert Jones in Main branch]
2015-05-01 08:44:41 -04:00
Josh Adams
a98d6d5f5c - Changed Android ES31+AEP support from a TargetPlatform to a checkbox that works with any Android TP
- Moved HighQualityLightmap support check to IOSTargetPlatform so it can check project settings for Metal support
- Fixed some issues running on an x86_64 device
- Cleaned up some unused functions in TargetPlatform
#codereview niklas.smedberg

[CL 2478853 by Josh Adams in Main branch]
2015-03-13 14:05:13 -04:00
Josh Adams
064ba6920d - Added support for checking Android build settings to be non-default
- Refactored code to make it easier to check .ini settings for non-default build settings
#codereview peter.sauerbrei

[CL 2475920 by Josh Adams in Main branch]
2015-03-11 18:50:57 -04:00