Commit Graph

53 Commits

Author SHA1 Message Date
Michael Trepka
9bb0589365 Restored BuiltBinaries in MacToolChain
[CL 2245697 by Michael Trepka in Main branch]
2014-08-06 12:46:49 -04:00
Michael Trepka
8c4e9429d9 Enabled all but few Clang warnings when building on Mac and cleaned up MacToolChain.cs a bit
[CL 2245662 by Michael Trepka in Main branch]
2014-08-06 11:51:47 -04:00
Robert Manuszewski
e6072fb050 UnrealBuildTool: Added UnrealHeaderTool version checking when checking if it's up to date.
#change UBT will check for API version of all UnrealHeaderTool binaries to detect partial syncs
#change Added BuildHostPlatform class for runtime platform abstraction

[CL 2245408 by Robert Manuszewski in Main branch]
2014-08-06 07:05:15 -04:00
Michael Trepka
fa5a4e670a Proper fix for out of date check for Mac bundle resources
[CL 2244810 by Michael Trepka in Main branch]
2014-08-05 17:52:04 -04:00
Michael Trepka
ab8fcb664c Make sure that last write time for a resource copied to the Mac app bundle is updated after copy so UBT doesn't think it's out of date.
[CL 2243018 by Michael Trepka in Main branch]
2014-08-04 18:26:47 -04:00
Peter Sauerbrei
dee247b733 remove HTML5 target platform dll from being built as part of the mac and linux editor builds for rocket
TTP342631
#ue4
#html5

[CL 2242372 by Peter Sauerbrei in Main branch]
2014-08-04 09:48:56 -04:00
Mike Fricker
80f6dc9362 UnrealBuildTool: Experimental fast C++ include dependency scanning
- Adds experimental super-fast C++ outdated file checking
- This feature is turned off for now as we continue to test and improve it
      - You can try it out by enabling "bUseExperimentalFastDependencyScan" option in your BuildConfiguration.xml
- Here is the basic idea:
     - We no longer exhaustively scan all includes and build up a big graph every invocation
     - Instead, source files whose build products are missing have their includes scanned asynchronously while being compiled
     - The flat list of dependent includes for every outdated C++ is saved into a new cache file ("FlatCPPIncludes.bin")
     - On the next run, we quickly load that up and "just know" which files to check timestamps on to determine what is out of date
- Lots of "@todo fastubt" comments were added to UnrealBuildTool for potential performance optimizations and further improvements on this feature.

UnrealBuildTool: Determination of which modules have UObjects is now faster
- We now cache which modules have UObjects and load those for the next session

UnrealBuildTool: Module "shared" precompiled header determination is now much faster
- We no longer scan all C++ includes for a module to figure out which "shared" PCH to use
- Instead, we use the module dependencies specified in the module's *.Build.cs file
- For example, if your module depends on "Engine" and "UnrealEd", we choose "UnrealEd"'s shared PCH

Other UBT optimizations:
- Reduced calls to string formatting functions when setting up API definitions for all modules
- Added new performance diagnostics when bPrintPerformanceInfo is enabled in BuildConfiguration.xml
- We no longer check for "external" headers when scanning includes (this code didn't work at all)
- Optimized CleanDirectorySeparators() utility function to avoid string copies

Fixed UnrealBuildTool not saving DependencyCache under a platform-named folder

[CL 2238266 by Mike Fricker in Main branch]
2014-07-31 09:34:11 -04:00
Mark Satterthwaite
d922524627 Implemented support for Distcc + DMUCs as an alternative to XGE on Mac OS X.
By either manually configuring distcc & DMUCS as per their documentation, or using the DistCode Xcode plugin compilation can be distributed amongst networked Macs.
All Macs must have the same developer tools installed & the same distcc/DMUCS/DistCode and be on the same local network.
This works for compiling for Mac & iOS and it should be possible to configure distcc & DMUCS manually for use on build farms for remote building from Windows.
Linux could also use this for local builds or remote build farms - but I'm not in a position to test this.

[CL 2238171 by Mark Satterthwaite in Main branch]
2014-07-31 07:33:17 -04:00
Ankit Khare
7dcc3e1c64 #UBT
#TTP 342328 (HTML5: Packaging Blueprint projects fails)

   -  A compiler generated file was missing from the manifest, fixed
   -  clean up -  instead of calling static functions, call virtual function on tool chain, move platform specific code to derived tool chains.

#codereview peter.sauerbrei

[CL 2236049 by Ankit Khare in Main branch]
2014-07-29 13:38:03 -04:00
Michael Trepka
58529f5921 Make sure Mac app bundle's Contents/Resources is created before copying icon file to it
[CL 2235780 by Michael Trepka in Main branch]
2014-07-29 10:03:52 -04:00
Michael Trepka
410a6c9ad4 Fixed copying of folders to Mac bundle resources
[CL 2234951 by Michael Trepka in Main branch]
2014-07-28 16:31:15 -04:00
Michael Trepka
e5fa9d51e7 Initial support for specifying additional files or folders that need to be copied to Mac app bundle in module's Build.cs file. For now only used for Mac CoreAudio's RadioEffectUnit plugin. More files and support for iOS bundles will follow soon.
[CL 2234811 by Michael Trepka in Main branch]
2014-07-28 14:55:48 -04:00
Peter Sauerbrei
87eaea3342 fix for PlatformerGame not building
#ue4
#mac
#codereview michael.trepka

[CL 2231632 by Peter Sauerbrei in Main branch]
2014-07-25 11:29:19 -04:00
Michael Trepka
5231792efb Support for using Binaries/ThirdParty libs in self-contained Mac app bundles
[CL 2228781 by Michael Trepka in Main branch]
2014-07-23 13:46:15 -04:00
Michael Trepka
fe26e1defc Changed MacToolChain.CompileCPPFiles to use StringBuilder and not use Path.GetFullPath and ConvertPath when it's not needed. This saved about 9 seconds of the time it takes UBT to determine if targer is up to date. Other platforms may want similar changes.
#codereview Mike.Fricker, Platform.Team

[CL 2227505 by Michael Trepka in Main branch]
2014-07-22 16:28:09 -04:00
Marcus Wassmer
460b2d20d1 Refactor AutoSDKs in preparation for doing doing AutoSDK setup for the editor.
[CL 2223660 by Marcus Wassmer in Main branch]
2014-07-18 14:21:02 -04:00
Ben Marsh
400af2276b Fix UBT not relinking targets after plugin static libraries are modified. Dependencies were ignored because their producing action was marked as creating an import library.
[CL 2218219 by Ben Marsh in Main branch]
2014-07-15 07:49:32 -04:00
Ben Marsh
a18f9cc404 [INTEGRATE] 4.3 release branch to main.
[CL 2176319 by Ben Marsh in Main branch]
2014-07-08 15:35:18 -04:00
Michael Trepka
e449858c94 Fix intellisense generation for Rocket Xcode projects on Mac
#codereview Ben.Marsh

[CL 2170495 by Michael Trepka in Main branch]
2014-07-07 13:57:34 -04:00
Ben Marsh
8ffc82bbd0 Add concept of an 'API version' for modules, which is used for determining compatibility of DLLs. By default, the API version is the current changelist number, but can be set to previous changelists when making hotfixes. The API version number is stored in a special resource section for DLLs on Windows, and in the current-version field for dylibs on Mac.
In contrast to the previous system, this does not require special-casing for Rocket builds and will work correctly for nightlies and other out-of-band releases. It also removes the requirement for games to adhere to a strict format of version string on Windows for the editor to be able to load them, since the new data is injected indepdendently of the default resource by UBT.

#codereview Robert.Manuszewski, Michael.Trepka

[CL 2111949 by Ben Marsh in Main branch]
2014-06-20 13:02:34 -04:00
Michael Trepka
a252994688 Fix for ToolsForCompile_OnMac build error
[CL 2110396 by Michael Trepka in Main branch]
2014-06-19 09:52:17 -04:00
Saul Abreu
bd93ea7dfd Swapped ICU 51.2 for 53.1 when using the ICU module. Updated preprocessor definitions when using the ICU module to match updated ICU build without transliteration functionality. Implemented common data file open/close callbacks in UE4 and hooked into ICU. Added memory stats for ICU data files. Updated number formatting tests to validate new CLDR data. Updated checks to ensure the new ICU common data directory is present and fallback appropriately where possible.
[CL 2109697 by Saul Abreu in Main branch]
2014-06-18 16:27:48 -04:00
Jaroslaw Palczynski
7865157a1e [GitHub] 219 : Move post build handling to ToolChain
#ttp 338156

[CL 2107782 by Jaroslaw Palczynski in Main branch]
2014-06-17 02:04:37 -04:00
Saul Abreu
7db7405411 Backed out ICU changes temporarily. To be resolved not-during-the-weekend.
[CL 2105281 by Saul Abreu in Main branch]
2014-06-13 20:13:34 -04:00
Saul Abreu
00b58a5ea5 Swapped ICU 51.2 for 53.1 when using the ICU module. Updated preprocessor definitions when using the ICU module to match updated ICU build without transliteration functionality. Implemented common data file open/close callbacks in UE4 and hooked into ICU. Added memory stats for ICU data files. Updated number formatting tests to validate new CLDR data. Updated checks to ensure the new ICU common data directory is present and fallback appropriately where possible.
[CL 2105058 by Saul Abreu in Main branch]
2014-06-13 17:16:14 -04:00