Commit Graph

152 Commits

Author SHA1 Message Date
ryan durand
0b9ee685f4 (Merging from Main)
Force use of cl-filter if printing timing information for CTA.

#rnx
#jira UE-133073
#rb jonathan.adamczewski

#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 18339498 in //UE5/Release-5.0/... via CL 18339528
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18339548 by ryan durand in ue5-release-engine-test branch]
2021-12-01 10:48:01 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
jonathan adamczewski
06acc3f118 UnrealBuildTool: Suppress warning re: deprecation of enum arithmetic in C++20
C++20 deprecates some arithmetic operations on enums, resulting in warnings like the following:

warning C5054: operator '+': deprecated between enumerations of different types

Ref: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1120r0.html

The code is remains valid, but may become unsupported in a future C++ standard (C++23, C++26, or not at all - see for example discussion in http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2139r2.html )

#jira none
#trivial
#rb joe.kirchoff

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17649855 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17649874 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-28 14:53:56 -04:00
joe kirchoff
c46a4af3c5 UnrealBuildTool: Remove support for VS2017
#jira UE-126521
#rb Jonathan.Adamczewski
#preflight 6144ffdb11925a000119cac6

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17559611 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17559616 by joe kirchoff in ue5-release-engine-test branch]
2021-09-17 18:25:11 -04:00
joe kirchoff
dc243dabbb UnrealBuildTool: Add support for passing /experimental:deterministic to the MSCV compiler (WindowsPlatform.bDeterministic). Disabled by default.
#jira UE-117668
#rb trivial

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17526843 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526880 by joe kirchoff in ue5-release-engine-test branch]
2021-09-15 17:03:01 -04:00
halfdan ingvarsson
0d426dde64 UBT: Added a new static analyzer type, 'Clang', which runs clang's static analyzer, regardless of the project. Also added a new option, StaticAnalyzerOutputType (-StaticAnalyzerOutputType on the command line) which takes either Text or Html as values, Text being default (and only option for non-clang analysers). Text simply writes out the analysis to stdout, whereas Html will write out an HTML page in the object output folder, that contains a navigable version of the code, including the analysis.
#ROBOMERGE-SOURCE: CL 17415955 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17416571 by halfdan ingvarsson in ue5-release-engine-test branch]
2021-09-03 01:30:31 -04:00
jonathan adamczewski
79aed20146 UnrealBuildTool:
Support for writing files directly as lines, without converting to a single string first.

#jira none
#rb joe.kirchoff

#ROBOMERGE-SOURCE: CL 17162046 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17162059 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-12 20:46:22 -04:00
josh adams
8a9348f4e6 - Allow for a target to add extra linker commandline options in Visual Studio
#rb jeff.newquist
#p4v-preflight-copy 17108935
#preflight 6111b4ca6c6eb0000111d110

#ROBOMERGE-SOURCE: CL 17109665 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v854-17104634)

[CL 17109718 by josh adams in ue5-release-engine-test branch]
2021-08-09 20:03:12 -04:00
joe kirchoff
3a7d426705 UnrealBuildTool: Print absolute paths in diagnostics
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16832260 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16832277 by joe kirchoff in ue5-release-engine-test branch]
2021-07-12 18:03:14 -04:00
joe kirchoff
19c61933c9 UnrealBuildTool: Fix bShowIncludes not setting the compile flag when /sourceDependencies is used to track dependencies. Also support bShowIncludes for Windows Clang.
#jira UE-119438
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16831282 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16831304 by joe kirchoff in ue5-release-engine-test branch]
2021-07-12 16:53:44 -04:00
andrew firth
9b1d252a0d [UBT] - add functionality to honor bPreprocessOnly (PS) and publish the output file path to the log (used by unrealVS) - moved this into the *new* location for these settings
#rb none (trivial)

#ROBOMERGE-SOURCE: CL 16825197 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825199 by andrew firth in ue5-release-engine-test branch]
2021-07-12 10:28:28 -04:00
joe kirchoff
9c7615fd72 UnrealBuildTool: Clean up VCToolChain functions that add command line args to be more consistently used, allowing more paths that can be relative to reduce command line length
Verified relative pathing works fine for msvc clang builds
Use .d files for dependencies when compiling with windows clang, instead of piping through cl-filter.exe
Use relative pathing for generated unity files

#rb Jonathan.Adamczewski
#rnx
#preflight 60d4de2bcaf0590001e62de9
#preflight 60d4efbccaf0590001e9af24

#ROBOMERGE-SOURCE: CL 16779820 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16779826 by joe kirchoff in ue5-release-engine-test branch]
2021-06-24 19:01:22 -04:00
joe kirchoff
27be58d44c UnrealBuildTool: /sourceDependencies isn't valid for clang
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16760035 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16763616 by joe kirchoff in ue5-release-engine-test branch]
2021-06-23 18:02:07 -04:00
joe kirchoff
6409f25415 UnrealBuildTool: Move /sourceDependencies arg to GetCompilerArguments()
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16759389 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16763572 by joe kirchoff in ue5-release-engine-test branch]
2021-06-23 18:00:56 -04:00
joe kirchoff
a4316fe09f UnrealBuildTool: Use /sourceDependencies to generate dependency list instead of cl-filter if the the msvc compiler version is at least 14.27
#rb Ben.Marsh
#preflight 60d34f6ea81904000181d05a

#ROBOMERGE-SOURCE: CL 16758831 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16758890 by joe kirchoff in ue5-release-engine-test branch]
2021-06-23 12:42:20 -04:00
david harvey
dff654b52e Fixing up Address Sanitizer on Microsoft platforms.
<BuildConfiguration>
    <bEnableAddressSanitizer>true</bEnableAddressSanitizer>

#jira UE-112891
#rb dan.phillips
#rnx

#ROBOMERGE-SOURCE: CL 16757980 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16757990 by david harvey in ue5-release-engine-test branch]
2021-06-23 11:36:14 -04:00
david harvey
7f55622620 Add support for PDB page size override, introduced in VS2019 16.11 Preview 1.
This is used when dealing with PDB files that are over 4GB.

Use -PdbPageSize=<value> on the UBT command line, or add this to BuildConfiguration.xml:

  <WindowsPlatform>
    <PDBPageSize>32768</PDBPageSize>
  </WindowsPlatform>

Expected values are 4096 (default), 8192, 16384, 32768



Note to select an installed preview build of VS, you need to specify

  <WindowsPlatform>
    <CompilerVersion>Preview</CompilerVersion>
  </WindowsPlatform>


#rb ben.marsh
#jira UE-116910

#ROBOMERGE-SOURCE: CL 16743860 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16743872 by david harvey in ue5-release-engine-test branch]
2021-06-22 11:41:18 -04:00
jeanfrancois dube
a01371e00e UnrealBuildTool: added CppCompileEnvironment.AnalyzeStackSizeWarning to replace hardcoded value of 80K (now defaults to 300K).
Our stack size defaults to 4.7M on Windows, so allowing functions to use more stack space in favor of going through the heap.

#rb steve.robb

#ROBOMERGE-SOURCE: CL 16653849 via CL 16659295
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16659422 by jeanfrancois dube in ue5-release-engine-test branch]
2021-06-14 12:02:39 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
ad86e81438 UnrealBuildTool:
Add a StringComparison argument to CreateIntermediateTextFile() and require callers to make a decision about the case-sensitivity used when considering whether to re-write a file.

(This is intentionally explicit and verbose at the call-site - we should implement a better solution. This change makes it clear that there is work to be done to be able to simplify the interface and achieve reliable behavior.)

As a first pass, C++ files (headers, cpp files, pch files) will have a case-sensitive comparison (C++ code is, mostly, case sensitive), Linux script files have a case-sensitive comparison (case-sensitive filesystem), and all other files are compared disregarding case - to match pre-existing behavior, and with the desire to not borrow more surprises than necessary.

#jira none

#ROBOMERGE-SOURCE: CL 16616339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16616345 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 19:45:21 -04:00
jonathan adamczewski
d58996b916 UnrealBuildTool: move some path constants into BuildUtilities
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.

The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.

Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.

#jira none

#ROBOMERGE-SOURCE: CL 16607440 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 12:55:13 -04:00
jonathan adamczewski
a865a21fb0 Move FileItem and DirectoryItem into BuildUtilities
#jira none

#ROBOMERGE-SOURCE: CL 16596289 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16596323 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 19:06:03 -04:00
Joe Kirchoff
9879d7f52d UnrealBuildTool: Support VS2022 Preview
Default is still VS2019, running `GenerateProjectFiles.bat -2022` will create a solution and projects that pass -2022 to UnrealBuild tool when compiling from Visual Studio to force it to use the 2022 toolchain.
Please note, as the defaults are unchanged building from UnrealGameSync will still compile with VS2019 so I would disable that build if testing VS2022.
None of this is necessary to use VS2022, it can open VS2019 solutions and will use the Vs2019 toolchain to build.

#rb Ben.Marsh
#pf 60aebccd7d4b9f0001197729

[CL 16478477 by Joe Kirchoff in ue5-main branch]
2021-05-26 19:58:10 -04:00
Joe Kirchoff
75edf837e1 Remove build support for Visual Studio 2015
#rb Jonathan.Adamczewski
#preflight 60ad7f3b8194e700015e1d77

[CL 16459038 by Joe Kirchoff in ue5-main branch]
2021-05-25 20:10:26 -04:00