mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
777dffe8ff8d52d7eb7894deab386c816a48f80f
14 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5275490168 |
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3233612 on 2016/12/13 by Ben.Marsh UGS: Fix cases where precompiled binaries are submitted for a content change. Change 3235584 on 2016/12/14 by Ben.Marsh UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead. Change 3235741 on 2016/12/14 by Ben.Marsh UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself. Change 3238176 on 2016/12/16 by Ben.Marsh UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs. Change 3238249 on 2016/12/16 by Ben.Marsh UBT: Add attribute-driven command line parser. Change 3238462 on 2016/12/16 by Ben.Marsh UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly. Change 3238564 on 2016/12/16 by Ben.Marsh UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor. Change 3239919 on 2016/12/19 by Ben.Marsh UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined. Change |
||
|
|
20bf0eb6a1 |
Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none #lockdown Nick.Penwarden [CL 3226823 by Ben Marsh in Main branch] |
||
|
|
7f06f93ff9 |
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3146735 on 2016/09/30 by Ben.Marsh EC: Add the standard postprocessor onto conform job steps. Change 3147190 on 2016/09/30 by Ben.Marsh UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added. Change 3148611 on 2016/10/03 by Matthew.Griffin Added list of Dependant modules to EULA check #jira UE-29432 Change 3149098 on 2016/10/03 by Ben.Marsh PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson) Change 3149395 on 2016/10/03 by Ben.Marsh UBT: Don't execute pre- and post-build steps when generating project files. Change 3150398 on 2016/10/04 by Ben.Marsh UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain. #jira UE-18652 Change 3150569 on 2016/10/04 by Ben.Marsh UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly. Change 3150606 on 2016/10/04 by Ben.Marsh UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it. Change 3150628 on 2016/10/04 by Ben.Marsh UBT: Remove .NET framework assembly paths for C++ modules. Change 3150640 on 2016/10/04 by Ben.Marsh UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment. Change 3152101 on 2016/10/05 by Ben.Marsh UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally. Change 3153231 on 2016/10/06 by Ben.Marsh UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging. Change 3154868 on 2016/10/07 by Richard.Fawcett Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties Change 3155017 on 2016/10/07 by Ben.Marsh Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core. Change 3156159 on 2016/10/08 by Ben.Marsh UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows) * Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header. * Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler. * Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings * Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs * Enabled shared PCHs for Mac, iOS, Linux. Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m). Change 3163040 on 2016/10/14 by Ben.Marsh UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild). Change 3165028 on 2016/10/17 by Ben.Marsh PR #2799: Set Windows exe properties from ini (Contributed by projectgheist) Change 3165076 on 2016/10/17 by Ben.Marsh Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op). Change 3167773 on 2016/10/19 by Ben.Marsh BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files. Examples, taken from Engine/Build/Graph/TagsAndFiles.xml: <!-- Source and destination are treated as directories due to presence of 'Files' attribute --> <Copy Files="..." From="Engine/Build" To="Output0" /> <!-- Single file --> <Copy From="Engine/Build/Build.version" To="Output1/Output.version" /> <!-- Output treated as directory --> <Copy From="Engine/Build/.../*.txt" To="Output2" /> <Copy From="Engine/Build/.../*.txt" To="Output3/" /> <Copy From="Engine/Build/....txt" To="Output4" /> <!-- With rename --> <Copy From="Engine/Build/....txt" To="Output5/....old" /> <!-- Copy only subdirectories of Engine/Build, but maintain directory structure --> <Copy From="Engine/Build/*/....txt" To="Output6/" /> <!-- Match bat*/.../*.txt --> <Copy From="Engine/Build/bat...txt" To="Output7" /> <!-- Copy only PS4 subfolders --> <Copy From="Engine/Build/.../ps4/..." To="Output8" /> Change 3167852 on 2016/10/19 by Ben.Marsh BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task. Change 3168034 on 2016/10/19 by Ben.Marsh BuildGraph: Add support for multi-line properties, declared inside a <Property> tag. Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value: <Property Name="Prop1" Value="One;Two;Three;One hundred"/> <Property Name="Prop2"> <!-- Some numbers --> One Two Three <!-- Values are delimited by newlines; spaces within a line are preserved --> One hundred </Property> Change 3169256 on 2016/10/20 by Ben.Marsh UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module. Previously took >10s to run on my machine, now takes < 0.2s. Change 3169271 on 2016/10/20 by Ben.Marsh BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph. Change 3179662 on 2016/10/31 by Matthew.Griffin Fixed last remaining issues with building QAGameEditor as a monolithic executable Added a node for building mono editor in CIS so that we catch any new issues #jira UE-32712 Change 3184857 on 2016/11/03 by Matthew.Griffin Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013 #jira UE-35628 Change 3187232 on 2016/11/04 by Ben.Marsh UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch. Change 3188413 on 2016/11/07 by Matthew.Griffin Added Switch to Installed Build so that it matches pattern for other confidential platforms Change 3188426 on 2016/11/07 by Matthew.Griffin Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc. #jira UE-36205 Change 3189363 on 2016/11/07 by Ben.Marsh Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment. Change 3191372 on 2016/11/09 by Ben.Marsh UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps. Change 3191381 on 2016/11/09 by Ben.Marsh UGS: Allow Ctrl-A to select all in the log window. #jira UE-38378 Change 3193388 on 2016/11/10 by Ben.Marsh Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser. Change 3193677 on 2016/11/10 by Ben.Marsh UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it. Change 3193942 on 2016/11/10 by Ben.Marsh UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable. Change 3198296 on 2016/11/15 by Ben.Marsh UBT: Include .modules files in target receipts and manifests. Change 3200284 on 2016/11/16 by Matthew.Griffin Move Sample game projects into a different solution folder like Templates Change 3205168 on 2016/11/19 by Ben.Marsh Update strings to refer to Visual Studio "15" as Visual Studio 2017. Change 3206333 on 2016/11/21 by Ben.Marsh Merge fix to detection of VS2017 RC from 4.14 release. Change 3206786 on 2016/11/21 by Ben.Marsh BuildGraph: Spawn child processes to embed source server information into PDB files in parallel. Change 3207588 on 2016/11/22 by Ben.Marsh UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases. [CL 3209331 by Ben Marsh in Main branch] |
||
|
|
cd605b8104 |
Reimplementing CL #2989663 by Steve.Robb from Dev-Core:
Timestamp files are now forced to be written out with a new time, fixing iterative build times due to failed timestamp checks. #lockdown Nick.Penwarden [CL 2989681 by Robert Manuszewski in Main branch] |
||
|
|
877a542dd6 |
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 2970079)
========================== MAJOR FEATURES + CHANGES ========================== Change 2945365 on 2016/04/15 by Mark.Satterthwaite Assert if anyone calls RHIClearUAV on a structured-buffer or texture under Metal - there's no clear way to implement these cases yet. Change 2945366 on 2016/04/15 by Mark.Satterthwaite Change the Metal parallel command-context submission to hand-off the entire NSArray of MTLCommandBuffers to avoid race conditions between one use of a context and the next. Change 2945394 on 2016/04/15 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. Change 2945444 on 2016/04/15 by Mark.Satterthwaite Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn. Change 2945457 on 2016/04/15 by Mark.Satterthwaite Add validation code to MetalRHI to ensure that we don't erroneously re-clear existing render contents when restoring the render command encoder. This will only be active when the Metal debug layer is enabled and is completely compiled away in Test & Shipping builds for performance. Change 2946249 on 2016/04/16 by Nick.Shin build HarfBuzz for HTML5 #jira UE-28552 - HarfBuzz - HTML5 Change 2946250 on 2016/04/16 by Nick.Shin Rename/move file(s) move emscripten (part 1 of 2) from Engine/Source/ThirdParty/HTML5/emsdk to Engine/Extras/ThirdPartyNotUE/emsdk this is a request from legal Change 2946251 on 2016/04/16 by Nick.Shin move emscripten (part 2 of 2) build scripts and cpp files updated with new emscripten path from Engine/Source/ThirdParty/HTML5/emsdk to Engine/Extras/ThirdPartyNotUE/emsdk this is a request from legal Change 2946516 on 2016/04/18 by Mark.Satterthwaite Disable r.DFShadowScatterTileCulling as well as r.AOScatterTileCulling on Mac because we don't have the necessary RW textures on Metal. Change 2947000 on 2016/04/18 by Michael.Trepka Print OS X version to log in FMacPlatformMisc::PlatformInit() Change 2948197 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 Change 2948301 on 2016/04/19 by Nick.Shin upgrading zlib openssl libcurl libwebsockets part 1 of 2 -- adding new compiled versions (part 2 will be removing the old version -- which will be done after platform owners are given a chance to recompile for their platform - most notably: zlib) NOTE: Linux libraries are built for CentOS 6.7 (i.e. 2010 - glibc 2.12 and gcc 4.4.7) #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1223 - Arrange testing for 'update websocket library' #jira UEPLAT-1203 - Add Linux library for libwebsockets #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948320 on 2016/04/19 by Nick.Shin update OpenSSL to v1.0.1s part 2 of 4 - doing this in stages for tracking purposes also, removing dynamic libs (for windows) -- these are no longer needed as this is now statically linked in editor - tested by installing perforce server setup with ssl access only and pointing editor source code to it as ssl:hostname:port - also tested trying accessing it without ssl which resulted in access denied indicating a successful test of dynamic lib removal #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948323 on 2016/04/19 by Nick.Shin build scripts pull source and compile - zlib openssl libcurl & libwebsockets tested on: - Win64 VS2013 & VS2015 - OSX - Linux #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1203 - Add Linux library for libwebsockets #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948337 on 2016/04/19 by Lee.Clark VS 2015 libScePad support Change 2948382 on 2016/04/19 by Mark.Satterthwaite Add Mac model, CPU string, num HTs to the log on Mac so that errors reported to us contain the data that Apple want when we turn them into bug-reports. Also added a missing sigaction from the trampoline. Change 2948385 on 2016/04/19 by Mark.Satterthwaite Disambiguate Metal command-buffer failures by vendor & error type so that we don't end up with just one crash-reporting entry for many different kinds of crash and enable this assertion on all builds because it will always be fatal and failing to crash here may end up causing the Mac to reboot. Change 2948460 on 2016/04/19 by Peter.Sauerbrei fix for wrong line endings Change 2948526 on 2016/04/19 by Nick.Shin fix for wrong line endings Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2949398 on 2016/04/20 by Lee.Clark PS4 - Fix SDK compile warnings Change 2949656 on 2016/04/20 by Nick.Shin Back out changelist 2948320 but keeping the C# build file as-is Change 2949676 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2950025 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949676 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 Change 2950084 on 2016/04/20 by Nick.Shin OSX warning fix: UE4 supports down to OSX 10.9 rebuilt the zlib openssl libcurl and libwebsockets to support that build file also updated to use MACOSX_DEVELOPMENT_TARGET=10.9 Change 2950613 on 2016/04/20 by Dmitry.Rekman UAT: Disable modules that are not supported on Linux. #rb none #codereview Ben.Marsh, Michael.Trepka, Josh.Adams #tests Run RunUAT.sh Change 2951065 on 2016/04/21 by Nick.Shin temp: update SSL dlls in Engine/Binaries/ThirdParty/OpenSSL/Win64 Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951574 on 2016/04/21 by Nick.Shin remove unused variable warning was bughunt code... Change 2951652 on 2016/04/21 by Josh.Adams - Disabled MRT support on iPad Air 1 devices, since it doesn't support wide enough MRTs that the engine needs (ie, only use MRTs in METAL_MRT mode on iOS) Change 2951656 on 2016/04/21 by Josh.Adams - Fixed Mac compile error in Metal Change 2951718 on 2016/04/21 by Nick.Shin remove shared SSL DLLs in a controlled manner tested with QA help who was able to replicate the bug in the morning - and was able to successfully run the editor with this changelist (shelved - remote unshelved test - thanks Dan.Bullard_volt!) #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951862 on 2016/04/21 by Lee.Clark PS4 - Enable Neo high resolution support. Change 2952409 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the libs and header files Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2952580 on 2016/04/22 by Lee.Clark PS4 - Fix staging and deploying of system prxs Change 2953152 on 2016/04/22 by Mark.Satterthwaite Only cache instances of TShadowDepthVS with bIsForGeometryShader=true when the RHI can handle the underlying feature. We can save memory on iOS by only emitting these shaders on Mac Metal or RHI's with Geometry shaders which have the required H/W to do this. Change 2953385 on 2016/04/22 by Nick.Shin use HarfBuzz libs for HTML5 c# build files updated to link in the harfbuzz libs #jira UE-28552 - HarfBuzz - HTML5 Change 2954686 on 2016/04/25 by Nick.Shin from legal: Emscripten approved for redistribution provided that *all* files are checked into the following directory: Engine/Extras/ThirdPartyNotUE Please also check in the attached .tps files and licenses alongside the TPS itself. This will allow us to track third party files within P4. Change 2954928 on 2016/04/25 by Daniel.Lamb Fixed min number of threads allocated for compiling shaders in cooker. Change 2954942 on 2016/04/25 by Daniel.Lamb Added flag -skipcompile for running visual studio. Skip force compilation on -multiprocess flag. #jira UE-22308 #PR 1678 #1678 Change 2954948 on 2016/04/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 2955370 on 2016/04/25 by Josh.Adams - Fixing C# error from main #lockdown nick.penwarden Change 2957745 on 2016/04/27 by Daniel.Lamb Pull request from acordon@microsoft.com. Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call. Change 2957747 on 2016/04/27 by Daniel.Lamb Pull request from acordon@microsoft.com. Resave packages commandlet now can also rebuild asset registry paths with consistent case. Change 2957750 on 2016/04/27 by Daniel.Lamb Pull request from acordon@microsoft.com. Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call. Change 2958708 on 2016/04/28 by Nick.Shin remove boringSSL #jira UE-29970 - QAGame launch on fails for Win64, fatal error LNK1169: one or more multiply defined symbols found #lockdown josh.adams Change 2958724 on 2016/04/28 by Nick.Shin moved setting bVerifyPeer flag AFTER CertBundlePath has been set... otherwise, libCurl is going to try to verify the SSL session - but without a cert file, it makes no sense to try and verify the session - we could (and probably should) make this an error condition - but the constructor has the bVerifyPeer set to true -- which would mean that all games will need to have a cert file and/or know to set bVerifyPeer to false... - and so far, only linux and android seem to have code in place to make use of the cert files... #jira UE-29950 - Orion deticated server MCP authentication fails when using CURL #lockdown josh.adams Change |
||
|
|
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] |
||
|
|
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] |
||
|
|
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] |
||
|
|
149375b14b |
Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch] |
||
|
|
0031e06f21 |
Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
- New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration" (disabled by default)
- Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
- Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
- The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
- Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
- Events that can invalidate the 'UBT Makefile':
- Adding/removing .cpp files
- Adding/removing .h files with UObjects
- Adding new UObject types to a file that didn't previously have any
- Changing global build settings (most settings in this file qualify.)
- Changed code that affects how Unreal Header Tool works
- You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
- New command-line parameters added:
- "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
- "-NoGather": Disables the gather step, unless UBT detects that it must be done. This is the default when bUseExperimentalFastBuildIteration is enabled
- "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
- "-Assemble": Tells UBT to also assemble build products. This always defaults to enabled
- "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
- "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must
Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable". This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything
[CL 2254472 by Mike Fricker in Main branch]
|
||
|
|
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]
|
||
|
|
a97a6cded9 |
UBT: Fixed a minor warning in Mono.
#codereview Steve.Robb [CL 2077517 by Dmitry Rekman in Main branch] |
||
|
|
8d7fb2159a |
Fix for UTF-8-encoded files written by UBT.
#fix FileItem.CreateIntermediateTextFile now creates the text file in UTF-8 if the contents string contains non-ASCII characters. #change ResponseFile.Create now calls FileItem.CreateIntermediateTextFile. This fix was made in relation to TTP# 334906, even though that problem was not fixed in the end. #codereview robert.manuszewski [CL 2075498 by Steve Robb in Main branch] |
||
|
|
324683ce78 | Engine source (Main branch up to CL 2026164) |