Commit Graph

245 Commits

Author SHA1 Message Date
Ben Marsh
3d6c0e0a81 Convert target receipts to JSON, so they can be read early at startup like version manifests, and unify the way that target receipts and version manifests are loaded and saved.
[CL 2669100 by Ben Marsh in Main branch]
2015-08-26 08:25:10 -04:00
Wes Hunt
bb27f83e9a CleanDirectory now ignores DirectoryNotFoundExceptions to harden against outside sources deleting that folder before it gets to it. I ran into this when manually deleting a subset to Intermediates to iterate on the UBT bug.
[CL 2664873 by Wes Hunt in Main branch]
2015-08-21 16:09:56 -04:00
Ben Marsh
ee81251c31 Handle cases where the foreign plugin passed in to UBT is already in the known plugins list. It's not technically foreign, but it's easily handled.
[CL 2661015 by Ben Marsh in Main branch]
2015-08-19 11:03:05 -04:00
Ben Marsh
c8999e6093 Make sure the version manifests and file names are serialized to the UBT makefile. If they're not written out, we won't be able to update the *.modules files correctly when switching between targets, unless we're discarding the makefile.
#codereview Jamie.Dale

[CL 2653646 by Ben Marsh in Main branch]
2015-08-12 17:52:25 -04:00
Ben Marsh
7f9774d740 Make it clearer that TargetReceipt.Read can fail if the file doesn't exist or is formatted incorrectly.
[CL 2649965 by Ben Marsh in Main branch]
2015-08-10 16:07:05 -04:00
Mike Fricker
659cb89e9c [INTEGRATE] UnrealBuildTool fixes for small modules
- Fixed small game-specific plugins always using non-unity and getting a unique PCH

- You can now override the default behavior of UBT which compiles small game modules for "fast iteration"
        - Many small game modules have a low frequency of iteration, and never need a unique PCH or non-unity enabled
        - You can use the following module-specific variables to override the default behavior:

                      MinSourceFilesForUnityBuildOverride = 1;
                      MinFilesUsingPrecompiledHeaderOverride = BuildConfiguration.MinFilesUsingPrecompiledHeader;

[CL 2648185 by Mike Fricker in Main branch]
2015-08-07 13:58:49 -04:00
Steve Robb
3ad72e0d88 UBT now rebuilds makefile when hotreloading a different module.
#codereview robert.manuszewski

[CL 2647884 by Steve Robb in Main branch]
2015-08-07 10:19:42 -04:00
Steve Robb
e446302541 Fix to module name comparison when checking files to rebuild.
#codereview robert.manuszewski

[CL 2646563 by Steve Robb in Main branch]
2015-08-06 12:14:25 -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
Steve Robb
062ba9412f Makefiles enabled on Mac.
Explicit serialization functions used instead of reflection, to avoid deserialization problems on Mono.
Version number added to makefiles to allow versioning in future.
Makefiles still disabled if the host platform differs from the built platform, to continue to avoid any problems 'when building with RPCUtility'.

#codereview robert.manuszewski,michael.trepka

[CL 2643502 by Steve Robb in Main branch]
2015-08-04 11:20:50 -04:00
Ben Marsh
3733f73569 When compiling a modular target, write out a manifest of build products to each output directory listing the valid modules in that directory and their version. Allows faster switching of changelists when using UGS (because it's no longer necessary to re-link all modules), and safeguards against stale DLLs from a different target causing loader errors. Uses compiled-in API version if BUILT_FROM_CHANGELIST is non-zero.
[CL 2641800 by Ben Marsh in Main branch]
2015-08-03 08:47:15 -04:00
Peter Sauerbrei
fc78a8a4b4 fix for deletion of precompiled modules in the engine when in binary release
UE-19029, UE-19203
#uat

[CL 2634411 by Peter Sauerbrei in Main branch]
2015-07-27 15:54:58 -04:00
Ben Marsh
cb6397491f Missing file.
[CL 2632465 by Ben Marsh in Main branch]
2015-07-24 13:51: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
Chris Babcock
e8c60827fd Include dynamic libraries in extenal dependencies list.
#jira UE-18939
#ue4
#codereview Ben.Marsh

[CL 2627923 by Chris Babcock in Main branch]
2015-07-21 15:20:14 -04:00
Ben Marsh
0ee7e20c50 Cache the path to a target's build receipt, rather than reevaluating it several times.
[CL 2627746 by Ben Marsh in Main branch]
2015-07-21 13:56:44 -04:00
yaakuro
1c630d59b1 Add CodeLite support (on Linux) - UE-18561, UE-18564.
- Includes PR #1378 and #1379 (both contributed by yaakuro)
  * Adds CodeLite project generator to UBT (can be invoked on all platforms).
  * Adds CodeLite source accessor plugin (whitelisted for Linux only).
  * Desktop platform/game project generation switched to use .workspace on Linux.
- Minor cleanup (do not recompile UAT and its modules when generating Linux projects).

#codereview Josh.Adams, Robert.Manuszewski, Mike.Fricker

[CL 2621060 by Dmitry Rekman in Main branch]
2015-07-14 18:17:55 -04:00
Dmitry Rekman
93bd759229 UBT: Extend CMake support to more platforms and other changes (UE-17019, UE-18448).
- Includes PR #1253: Create CMakeLists.txt for OS X with CLion support too (contributed by fsmorygo)
   * cmakefile key for UnrealBuildTool now allows being used on osx and linux
   * CMakeLists.txt now includes two additional sections:
           include_directories()
           add_definitions() for preprocessor definitions

- Includes PR #1372: Project Generator Platform Source/Include Path Exclusion Removal + Makefile/CMakeLists fixes (contributed by salamanderrake).
    * Files for other platforms aren't filtered out so they get indexed for an easier lookup.
    * Fix for missing cmake targets for code-based projects.

- Experimental Windows support (tested on Mac and Linux only).

#codereview Michael.Trepka, Josh.Adams

[CL 2618656 by Dmitry Rekman in Main branch]
2015-07-13 15:11:27 -04:00
Peter Sauerbrei
7a80640cef UEB-266 - updated clean action for UBT to properly clean items from the most recent reciept, additionally, it will also now clean up stale modules when dependencies on them have been removed
#codereview ben.marsh

[CL 2615855 by Peter Sauerbrei in Main branch]
2015-07-09 17:32:40 -04:00
Peter Sauerbrei
fc35305c51 changes to allow two projects to have the same plugin name
UEB-258
#codereview ben.marsh

[CL 2611443 by Peter Sauerbrei in Main branch]
2015-07-06 15:22:45 -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
Steve Robb
69490942cd Fix for UELinkerFixups not being built properly after module updates.
#codereview robert.manuszewski

[CL 2606477 by Steve Robb in Main branch]
2015-06-30 17:11:15 -04:00
Steve Robb
db5429d360 AVX support in UnrealBuildTool.
#codereview robert.manuszewski

[CL 2604153 by Steve Robb in Main branch]
2015-06-29 12:24:33 -04:00
Jaroslaw Palczynski
a4a674fbac UBT: Fix problem with ordering modules when compiling for hot-reload.
#codereview Robert.Manuszewski

[CL 2600403 by Jaroslaw Palczynski in Main branch]
2015-06-25 08:41:50 -04:00
Ben Marsh
1bd03cb57f Allow targets to specify whether they want to build all plugins (rather than just the ones they have enabled), and turn it on for the vanilla UE4Editor target. Content-only projects may want to enable plugins, but they have no target to build.
[CL 2591851 by Ben Marsh in Main branch]
2015-06-18 08:41:17 -04:00