Commit Graph

462 Commits

Author SHA1 Message Date
Dmitry Rekman
6bcdeee200 UBT: fix a number of project generators (UE-18832)
- In-tree code project targets were missing.

#codereview Peter.Sauerbrei

[CL 2627718 by Dmitry Rekman in Main branch]
2015-07-21 13:39:28 -04:00
Matthew Griffin
48b7792c97 Fixed crash that could occur if source folder of a plugin was removed
GetModuleFilename returns an empty string if module can't be found, checking for null meant that it went ahead and tried to load it regardless.

[CL 2627121 by Matthew Griffin in Main branch]
2015-07-21 04:34:09 -04:00
Ben Marsh
a5f534451b Remove the ENGINE_VERSION define from Version.h and ObjectVersion.cpp; it's superceded by GEngineVersion. EngineVersion.cpp now defines the constants GEngineVersionChangelist and GCompatibleWithEngineVersionChangelist, which are used to construct GEngineVersion and GCompatibleWithEngineVersion. Modifying those constants allows updating the engine version separately to the defines used for resource files (allowing UGS to update the version number without triggering all files to be relinked).
[CL 2625344 by Ben Marsh in Main branch]
2015-07-18 16:57:53 -04:00
Wes Hunt
d2a1b60eaa UE-18654 - Fix uses of GetExecutingAssembly in UAT/UBT
#codereview:ben.marsh

[CL 2624862 by Wes Hunt in Main branch]
2015-07-17 16:38:17 -04:00
Ben Marsh
5d2f5d3c9d Attempt to fix exception when trying to resolve include paths on Linux. If we get an exception because the filename exceeds MAX_PATH, it can't be the header we're looking for.
#codereview Robert.Manuszewski
#lockdown Nick.Penwarden

[CL 2623796 by Ben Marsh in Main branch]
2015-07-16 19:15:22 -04:00
Jaroslaw Palczynski
eba5c293bd UE-18712: In editor Compile & Hot Reload always fails.
Fixed hot reload problem caused by CL 2615855.

#lockdown Nick.Penwarden

[CL 2623140 by Jaroslaw Palczynski in Main branch]
2015-07-16 09:59:24 -04:00
yaakuro
1c630d59b1 Add CodeLite support (on Linux) - UE-18561, UE-18564.
- 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]
2015-07-14 18:17:55 -04:00
Michael Noland
09e384f8af Core: Added logging about the command line used to invoke UHT and the duration
[CL 2619364 by Michael Noland in Main branch]
2015-07-13 22:19:09 -04:00
Peter Sauerbrei
a1bc0ddc34 fix for project generation when code signing
#ios

[CL 2619044 by Peter Sauerbrei in Main branch]
2015-07-13 18:13:44 -04:00
Dmitry Rekman
93bd759229 UBT: Extend CMake support to more platforms and other changes (UE-17019, UE-18448).
- 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]
2015-07-13 15:11:27 -04:00
Wes Hunt
a4210fbfa5 Change AutomationTool.csproj.References to use ToolsVersion = 4.0 instead of 12.0. Shot in the dark as to why the references don't seem to be working 100% of the time. But this should match the other project stuff anyway.
#codereview:ben.marsh

[CL 2616985 by Wes Hunt in Main branch]
2015-07-10 14:24:00 -04:00
Peter Sauerbrei
e6e2cbaabf fix for occasional failure to build UE4Game after generating projects
#ubt

[CL 2616920 by Peter Sauerbrei in Main branch]
2015-07-10 13:50:17 -04:00
Peter Sauerbrei
7a80640cef UEB-266 - updated clean action for UBT to properly clean items from the most recent reciept, additionally, it will also now clean up stale modules when dependencies on them have been removed
#codereview ben.marsh

[CL 2615855 by Peter Sauerbrei in Main branch]
2015-07-09 17:32:40 -04:00
Peter Sauerbrei
8f74cb0be7 fix for SSH not intiializing properly on OS X 10.9.x
#ios

[CL 2615624 by Peter Sauerbrei in Main branch]
2015-07-09 15:39:52 -04:00
Wes Hunt
7fa290bb33 Summary: running UAT from VS is simpler and faster.
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]
2015-07-09 10:15:37 -04:00
Peter Sauerbrei
def97e7e35 fix for source files not showing up in the projects for games with source
#ubt

[CL 2612662 by Peter Sauerbrei in Main branch]
2015-07-07 14:10:24 -04:00
Steve Robb
8f97ba4709 Changes integrated from CL# 2417785, which was not merged back to Main from UE4-Releases/4.7. Original changelist description:
> 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]
2015-07-07 13:42:33 -04:00
Peter Sauerbrei
fc35305c51 changes to allow two projects to have the same plugin name
UEB-258
#codereview ben.marsh

[CL 2611443 by Peter Sauerbrei in Main branch]
2015-07-06 15:22:45 -04:00
Michael Trepka
9aa67511ca Merging CL 2541630 - enabled syntax highlighting for MetalRHI module in Xcode project
[CL 2611263 by Michael Trepka in Main branch]
2015-07-06 13:15:54 -04:00
Steve Robb
7661666dcb Error when a module is both a dependency and dynamically loaded.
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]
2015-07-06 05:46:20 -04:00
Lee Clark
d8c6aca65d SN-DBS support for distributed compilation of Win64 builds
* Modules that use #import (DatabaseSupport & VisualStudioSourceCodeAccessor) are forced to be built locally due to SN-DBS limitation . These are very small modules so have a minimal impact on build time.

#codereview Mike.Fricker

[CL 2610243 by Lee Clark in Main branch]
2015-07-03 05:23:01 -04:00
Peter Sauerbrei
3171d2b734 fix for extra output when building in VS
#ubt

[CL 2606310 by Peter Sauerbrei in Main branch]
2015-06-30 15:40:32 -04:00
Steve Robb
db5429d360 AVX support in UnrealBuildTool.
#codereview robert.manuszewski

[CL 2604153 by Steve Robb in Main branch]
2015-06-29 12:24:33 -04:00
Michael Trepka
7217a5c40f Fixed paths to Mac apps in Xcode schemes
[CL 2603058 by Michael Trepka in Main branch]
2015-06-26 18:07:17 -04:00
Ben Marsh
469830559c Fix a problem running UnrealHeaderTool when there are stale binaries from another configuration locally. Now uses the UHT receipt to determine which binaries to check instead, and deletes them all if there's a mismatch.
Code previously searched for any UnrealHeaderTool*.dll binaries, which would pick up things like a stale UnrealHeaderTool-ScriptGenerator-Win64-Debug.dll. If that file was the first found, and chosen as the API version to compare everything else to, all the up-to-date DLLs would be deleted. Using UBT makefiles was preventing UHT being rebuilt, which would leave users in a situation where they would only be able to do one good build after generating project files.

[CL 2602486 by Ben Marsh in Main branch]
2015-06-26 12:44:48 -04:00