Pathalogical case in the ExtendingTheEditor sample was using a PCH name of: D:\\BuildFarm\\buildmachine_++depot+UE4\\Samples\\Sandbox\\ExtendingTheEditor\\Plugins\\DemoEditorExtensions\\Intermediate\\Build\\Win64\\ExtendingTheEditor\\Debug\\DemoEditorExtensionsRuntime\\PCH.DemoEditorExtensionsRuntime.DemoEditorExtensionsRuntimePrivatePCH.h.cpp
[CL 2523558 by Ben Marsh in Main branch]
- Experimenting with disabling this to see if we notice any drawbacks (seems fine after a few days of testing)
[CL 2517690 by Mike Fricker in Main branch]
- The entire editor can now be compiled using Clang on Windows. It also runs (as long as you use the MSVC linker.)
- Use UEBuildWindows.bCompileWithClang=true to help test Clang support
- Most UE4 programs can now be compiled using Clang on Windows, and linked using the Clang linker on Windows
- Many C++ syntax fixes to resolve Clang errors and warnings when on Windows
- Clang on Windows now supports PCH files properly (but not "shared" PCHs, yet.)
- Hacked the DirectX XAudio2 headers slightly to work around a macro pasting bug in Clang
[CL 2494439 by Mike Fricker in Main branch]
* Import libraries are added to the build manifest whenever precompiling modules
* UHT now just generates headers to the project directory, and headers aren't included in the engine distribution. UHT was generating them anyway, just not writing them.
* Plugins binaries now just use UE4Game prefix in Rocket (since that's where they're built from), rather than using a special name.
* Platform-specific plugins are not explicitly excluded from builds - will be stripped out by directory instead
* XMPP is not manually excluded from Rocket builds.
* Removed BuildingRocket() function.
[CL 2487163 by Ben Marsh in Main branch]
- Updated UBT to allow us to setup platform information prior to setting the intermediate directory, ran by RobM
- Removed some code that allowed uis to rename binaries. We now use architecture for our _xp suffix.
- Added clarity to the WindowsPlatform XP checks. We can now specify XP support "If Available" which atm is only the case for win32. We have an IsWindowsXPSupported() call now in the windows build platform.
- Windows XP support can now be requested through UBT on the commandline. Specify using -winxp
Kellans GUBP changes included.
#CodeReview Kellan.Carr
[CL 2422021 by Terence Burns in Main branch]
* Renamed FileManifest to BuildManifest and FileManifestItems to BuildProducts, to more accurately reflect what they are.
* Removed ref qualifier when passing BuildManifest around; it's already a reference type, and not meant to be assigned to.
* Removed UAT's redundant copy of BuildManifest, since it already references the UBT assembly.
[CL 2406323 by Ben Marsh in Main branch]
- Especially in modular builds, remote linking speeds up build times very significantly
- Also enabled remote resource compilation, which also makes modular builds faster when XGE is installed
[CL 2398662 by Mike Fricker in Main branch]
- Disclaimer: This is all experimental forward-looking stuff, we don't recommend using this yet!
- Added native support for Clang command-line on Windows ('clang-cl' is not required, but still supported)
- Clang debug symbols are now Visual Studio compatible (use latest Clang 3.6.0 prelease build.)
- Clang linker (LLD.exe) now works with most UE4 binaries, but debug symbols won't work
- New 'WindowsPlatform.bUseVCCompilerArgs' that controls whether to the VC-style wrapper with Clang
- Implemented precompiled header support (requires native Clang binary.) There are still a few bugs in Clang with struct packing which prevent us from using PCHs on Windows though.
- Editor still can't compile under Clang because of some DX header file issues, possibly system include related.
- Unreal Build Tool: Reduced default performance spew when using the local executor (non-XGE builds.)
[CL 2393051 by Mike Fricker in Main branch]
- Superficial warnings that triggered as errors are now suppressed
- Fixed XGE thinking we were running the Visual C++ compiler
[CL 2391510 by Mike Fricker in Main branch]