UEB-261 - Ensure that compiling AutomationTool in VS will compile all other Automation Projects
* Just set AutomationTool as your startup project and pass the command to execute.
* VS will build the script modules at build time, instead of every time at runtime.
* To make this happen, "UBT.exe -ProjectFiles" now generates a companion AutomationTool.csproj.References that make AutomationTool depend on all Automation modules.
* AutomationTool.exe defaults to not building script modules at runtime. Pass -compile if you want to dynamically build them.
* Without the .references file, AutomationTool will only build itself and you will need to pass -compile.
* RunUAT.bat still works that same, defaulting to runtime compilation and supporting -nocompile flag. It then passes -compile (or nothing) to AutomationTool.
Other
* All Automation projects target .Net 4.5. Some already were and had hard dependencies on them (Rocket and SyncGithub -> Octokit). Now that AutomationTool directly depends on them, everything had to use .Net 4.5.
* Decoupled logic for -NoCompile and -NoCompileEditor. The flags are still confusing, but -NoCompile is no longer linked to -NoCompileEditor.
* Had to leave in stub support in UAT for -NoCompile else RunUAT.bat passes it along and UAT complains that it doesn't understand it.
* Added a CommandUtils.Run option to support run command, but still output the run duration.
* Reduced the verbosity when UAT.proj is run from dozens of lines per module to a single Module -> Output line. It was looking like there were problems, but it was just msbuild spew.
#codereview:ben.marsh
[CL 2615060 by Wes Hunt in Main branch]
Allow Engine Projects to be created in Rocket but only as stub projects to generate intellisense paths
Add all excluded binaries to list of Precompiled Binaries so that plugin paths are included when it comes to adding intellisense paths
[CL 2588511 by Matthew Griffin in Main branch]
Fixing up of existing code which used these facilities - this fixes the 'You are attempting to compile on a machine that does not have a supported compiler!' UAT error on machines with really long PATH variables, and exceptions in envvars with non-ASCII characters.
#codereview robert.manuszewski
[CL 2572445 by Steve Robb in Main branch]
- Merged in Microsoft's Unreal Build Tool changes for VS 2015 support, and Universal App Platform support
- VS 2015 support is disabled by default (the engine is not yet compiling with VS 2015)
- Use the new '-2015' option when generating project files to enable VS 2015 support
- Windows SDK 8.1 is used by default. To use Windows SDK 10, enable WindowsPlatform.bUseWindowsSDK10
- UAP support is disabled (not supported yet, work in progress.) Use WinUAPPlatform.bEnableUAPSupport to enable it.
- Various loose ends still remain (search for "@todo UAP" in Unreal Build Tool code)
[CL 2537920 by Mike Fricker in Main branch]
* The EnvVarsToXML project gets added to generated .sln.
* The EnvVarsToXML project is now referenced by UBT.
* The generated .sln shows the correct dependencies in the Configuration Manager.
* EnvVarsToXML now targets .NET 4.0.
* Fixes to output path and config names.
#codereview robert.manuszewski,ben.marsh
#lockdown zachary.edgertonJones
[CL 2492082 by Steve Robb in Main branch]
- Fixes to the Mac HTML5 Device selection. .app files now work correctly.
- Re-enabled HTML5 in Mac Editor.
- Added HTML5LaunchHelper executable to clean up the process of LaunchOn for HTML5.
- Improve HTML5 SDK Settings Editor interface. Only the emscripten install directory is needed now, SDK version are automatically picked up and selected for use.
- Change UnrealPak to also account for bytes saved (>64KB) and percentage size of original file (<90%) when choosing to automatically turn off compression.
- Added Server Port option for HTML5 deploy to stop clashes on port 8000
- Adding more logging for use during debugging & tracing.
- Added an option to turn on HTML5 tracing api and added calls to the api.
- Fix up check() macros to throw alert messages and be more clear that something has gone wrong on HTML5.
#codereview Ankit.Khare
[CL 2452979 by James Moran in Main branch]
Rocket projects now get all engine source files (not just header files)
- This makes Rocket projects a bit larger and they load slower, but it is much more useful for navigating source
- To get the old behavior, you can pass the new "-OnlyPublic" command-line option
- Fixes UE-9390
#codereview ben.marsh
[CL 2446922 by Matthew Griffin in Main branch]
Fix for generating engine project files under Rocket, when we don't have any target files. Generate a stub project instead.
[CL 2425973 by Ben Marsh in Main branch]