- 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]
- 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]
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]
- Move UnrealCodeAnalyzer to Programs/UnrealCodeAnalyzer
- Move clang/llvm binaries and includes to ThirdParty/llvm
#codereview Robert.Manuszewski
[CL 2613304 by Mikolaj Sieluzycki in Main branch]
> UnrealBuildTool: No longer needs to run UnrealHeaderTool unless you actually changed a source file with UObjects in it
> - This makes it much faster to iterate on source files that UCLASS's or USTRUCT's aren't declared in
> - UBT now keeps track of the set of UObject module files (inside it's per-module Timestamp file)
> - UHT only neesd to run if a UObject file was added/deleted or changed
> - Directory timestamp checking is no longer needed by UBT for generated code
> - Added new diagnostic logging for generated code outdatedness checking (with '-verbose' option)
#codereview robert.manuszewski,mike.fricker
[CL 2612602 by Steve Robb in Main branch]
Fixes for lots of existing modules by removing all dynamically loaded duplicates (this is probably not the correct solution, but is the safest).
#codereview robert.manuszewski
[CL 2610845 by Steve Robb in Main branch]