Commit Graph

291 Commits

Author SHA1 Message Date
Joe Kirchoff
b76676d7e5 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

[CL 16779820 by Joe Kirchoff in ue5-main branch]
2021-06-24 19:00:31 -04:00
Joe Kirchoff
e7351bd35b UnrealBuildTool: /sourceDependencies isn't valid for clang
#rb trivial
#rnx

[CL 16760035 by Joe Kirchoff in ue5-main branch]
2021-06-23 14:07:11 -04:00
Joe Kirchoff
74747077a5 UnrealBuildTool: Move /sourceDependencies arg to GetCompilerArguments()
#rb trivial
#rnx

[CL 16759389 by Joe Kirchoff in ue5-main branch]
2021-06-23 13:23:54 -04:00
Joe Kirchoff
69fd3e1226 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

[CL 16758831 by Joe Kirchoff in ue5-main branch]
2021-06-23 12:39:54 -04:00
David Harvey
bc3c4c7db0 Fixing up Address Sanitizer on Microsoft platforms.
<BuildConfiguration>
    <bEnableAddressSanitizer>true</bEnableAddressSanitizer>

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

[CL 16757980 by David Harvey in ue5-main branch]
2021-06-23 11:35:42 -04:00
David Harvey
25c67e128d 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

[CL 16743860 by David Harvey in ue5-main branch]
2021-06-22 11:40:06 -04:00
jeanfrancois dube
50e5591882 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
#ROBOMERGE-BOT: (v834-16658389)

[CL 16659295 by jeanfrancois dube in ue5-main branch]
2021-06-14 11:58:20 -04:00
jonathan adamczewski
48dd1912e1 UnrealBuildTool
Adding "using UnrealBuildBase" to some files (submitted separately to make subsequent CLs smaller)

#jira none
#trivial

[CL 16657799 by jonathan adamczewski in ue5-main branch]
2021-06-14 09:25:26 -04:00
jonathan adamczewski
4ece24e65a AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

[CL 16648181 by jonathan adamczewski in ue5-main branch]
2021-06-11 18:20:44 -04:00
jonathan adamczewski
b646b726e0 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

[CL 16616339 by jonathan adamczewski in ue5-main branch]
2021-06-09 19:45:07 -04:00
jonathan adamczewski
94b14ee042 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

[CL 16607440 by jonathan adamczewski in ue5-main branch]
2021-06-09 12:54:42 -04:00
jonathan adamczewski
44a6d5481e Move FileItem and DirectoryItem into BuildUtilities
#jira none

[CL 16596289 by jonathan adamczewski in ue5-main branch]
2021-06-08 19:05:33 -04:00
jonathan adamczewski
0af1ea99af Add a common C# method for detecting the current host platform to EpicGames.Core, and move many a test to use that code.
#jira none
#rb joe.kirchoff

[CL 16593582 by jonathan adamczewski in ue5-main branch]
2021-06-08 17:01:23 -04:00
andrew firth
d79e55a27f [DEPLOY] - optionally append machine name onto the deployed PackageName to allow multiple host machines to share hw.
[REVIEW] [at]David.Harvey [at]Eric.McDaniel

#rb Eric.McDaniel David.Harvey
#preflight 60b92395fe5bb5000128f354


#ROBOMERGE-SOURCE: CL 16553217
#ROBOMERGE-BOT: (v828-16531559)

[CL 16553301 by andrew firth in ue5-main branch]
2021-06-03 17:09:17 -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
Michael Noland
2711d3f9df Re-enabling type truncation warnings on Win64 VS compiles (this is expected to cause some fallout with LWC enabled)
#jira UE-116286
#rb andrew.davidson

[CL 16421123 by Michael Noland in ue5-main branch]
2021-05-21 13:23:04 -04:00
christopher waters
8895d3abe9 Cleaning up some DX12 dependencies.
#jira none
#rb kenzo.terelst
#preflight 60a5dea8b7ccb000019bb2ba

[CL 16405190 by christopher waters in ue5-main branch]
2021-05-20 12:18:48 -04:00
David Harvey
929b7642b2 package localization fixes
#jira UE-114023
#rb simone.digravio

[CL 16219077 by David Harvey in ue5-main branch]
2021-05-06 05:38:55 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
jonathan adamczewski
1f82bedc58 Removal some references to Mono
#trivial
#jira none

[CL 16171278 by jonathan adamczewski in ue5-main branch]
2021-04-30 14:34:17 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
David Harvey
b2493bdc31 Only set Clang Windows target for Windows.
#jira UECON-528
#rb eric.mcdaniel
#rnx

[CL 16140861 by David Harvey in ue5-main branch]
2021-04-28 04:45:51 -04:00
Ben Marsh
bc47b15e06 Merge utility library changes from GitSync.
[CL 16135807 by Ben Marsh in ue5-main branch]
2021-04-27 22:41:48 -04:00
Ben Marsh
497f931a3e Fix dependency checking for PCHs on Clang. Clang was configured to generate PCHs but not to consume them - though ultimately uses them anyway due to automatic translation of -include options.
#rb none
#jira UE-114247

[CL 16117674 by Ben Marsh in ue5-main branch]
2021-04-26 15:30:33 -04:00