Commit Graph

60 Commits

Author SHA1 Message Date
Wes Hunt
0255802490 Enable /Bt+ and /time+ in VC local builds when UEBuildWindows.bLogDetailedCompilerTimingInfo is true.
#codereview:mike.fricker

[CL 2528520 by Wes Hunt in Main branch]
2015-04-28 10:53:30 -04:00
Ben Marsh
f1d8b60d57 Add symbol stripping at the IUEToolChain level. Implemented for Windows, Linux, Android arm7.
#codereview Dmitry.Rekman, Chris.Babcock

[CL 2527125 by Ben Marsh in Main branch]
2015-04-27 12:53:24 -04:00
Ben Marsh
deeac5b6c9 Don't include the module name in the generated PCH; it's in the directory name already, and pushes filenames closer to MAX_PATH on Windows.
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]
2015-04-23 18:09:00 -04:00
Mike Fricker
305f5925be Don't treat VC++ compiler differently than other executables for XGE
- 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]
2015-04-20 11:35:11 -04:00
Matthew Griffin
72cfe6033f Added NotForLicensees to another section of code that builds a path for UnrealCodeAnalyzer
[CL 2506491 by Matthew Griffin in Main branch]
2015-04-09 04:16:50 -04:00
Ben Marsh
3a7e022d4c Generate build receipts from UBT, which keep a record of all the files written for a target and records any metadata needed to stage or deploy it.
[CL 2501101 by Ben Marsh in Main branch]
2015-04-03 10:25:57 -04:00
Mike Fricker
701ad40823 Improved support for Clang C++ compiler on Windows
- 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]
2015-03-27 16:44:10 -04:00
Ben Marsh
0116941f19 Shorten the -precompilemodules argument to -precompile, and -useprecompiledmodules to -useprecompiled.
[CL 2493651 by Ben Marsh in Main branch]
2015-03-27 09:13:06 -04:00
Ben Marsh
dc179de867 Add a "InShippingBuildsOnly" setting for code optimization, so it's possible to disable optimization for engine modules in Development/DebugGame configurations.
[CL 2487683 by Ben Marsh in Main branch]
2015-03-23 09:00:18 -04:00
Ben Marsh
c4c411f61d Removing last few calls to BuildingRocket()!
* 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]
2015-03-21 07:58:39 -04:00
Ben Marsh
2c2e53eae7 Always strip the full binary path name from PDBs; we always keep them side-by-side with the binary, and want them to be usable on different machines.
[CL 2486667 by Ben Marsh in Main branch]
2015-03-20 16:03:24 -04:00
Ben Marsh
920258d55a Fix handling of compiler definitions which contain spaces; AddDefinition() only looks at value, which is always null when adding define from the compile environment.
[CL 2481784 by Ben Marsh in Main branch]
2015-03-17 13:09:18 -04:00
Ben Marsh
71dd26c6cf Remove unnecessary ref keywords.
[CL 2478511 by Ben Marsh in Main branch]
2015-03-13 10:16:25 -04:00
Mikolaj Sieluzycki
5dd319203e Fix linker errors on non-monolithic shipping builds.
[CL 2478401 by Mikolaj Sieluzycki in Main branch]
2015-03-13 06:29:19 -04:00
Mikolaj Sieluzycki
148cf5c4b5 Fix linker errors on non-monolithic shipping builds.
[CL 2476555 by Mikolaj Sieluzycki in Main branch]
2015-03-12 05:12:40 -04:00
Ben Marsh
9d3514c040 Use a post-build step to strip symbols on Windows for Rocket builds, using the version of PDBCopy distributed with MSBuild.
[CL 2474120 by Ben Marsh in Main branch]
2015-03-10 14:25:43 -04:00
Ben Marsh
debfe659e1 Fix formatting again.
[CL 2425015 by Ben Marsh in Main branch]
2015-01-29 21:57:13 -05:00
Ben Marsh
1ec7fcec63 Back out revision 111 from //depot/UE4/Engine/Source/Programs/UnrealBuildTool/Windows/VCToolChain.cs
[CL 2425007 by Ben Marsh in Main branch]
2015-01-29 21:52:24 -05:00
Ben Marsh
a552203360 Fix broken formatting.
[CL 2424996 by Ben Marsh in Main branch]
2015-01-29 21:48:04 -05:00
Terence Burns
bd4ef55676 Windows XP architecture added to distinguish xp builds from non xp builds
- 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]
2015-01-28 08:26:51 -05:00
Ben Marsh
97c5a4f54a Include source and symbols for the Rocket editor.
[CL 2412299 by Ben Marsh in Main branch]
2015-01-20 11:26:13 -05:00
Ben Marsh
b321e6f43b Bit of housekeeping before adding list of dependencies into UBT's manifest:
* 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]
2015-01-14 15:46:41 -05:00
Mike Fricker
3c73d443fb Unreal Build Tool: Enabled remote linking with XGE on Windows platform (renabled)
- 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]
2015-01-06 09:29:14 -05:00
Mike Fricker
7d2f5740a2 Improved support for compiling and linking using Clang on Windows platform
- 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]
2014-12-18 16:52:27 -05:00
Mike Fricker
3dabce5207 Fixed a few problems when compiling using latest version of Clang on Windows
- 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]
2014-12-17 14:38:52 -05:00