Commit Graph

1709 Commits

Author SHA1 Message Date
henrik karlsson
3f6f69731a [Box]
* Added -BoxNoWrite command line option. When this is set, intermediate/output files are not written to disk (for now there are a few exceptions such as ispc h-files and pch-files)
* Binaries with bug fixes
Added -BoxPrintSummary command line option. By default summary is now not written out to log

#rb joe.kirchoff

[CL 25821777 by henrik karlsson in ue5-main branch]
2023-06-06 13:57:20 -04:00
joe kirchoff
3cde89ad9a BuildSettingsVersion.V4: Default CppStandard to Cpp20. Latest is not being updated to V4 with this change and will happen at a later date
* Add new setting CppStandardEngine so this can be controlled separately for engine module
* CppStandard no longer requires RequiresUniqueBuildEnvironment as it does not affect engine modules

#rb christopher.waters

[CL 25821375 by joe kirchoff in ue5-main branch]
2023-06-06 13:38:28 -04:00
christopher waters
37f26ae37e Don't use the Box Executor if compiling with -SingleFile=
#rb henrik.karlsson

[CL 25803371 by christopher waters in ue5-main branch]
2023-06-05 16:56:39 -04:00
robert millar
6bdae7d69e Additional crash reporting information.
- Whether the binaries were created with debug info.
- Engine 'compatible' version from build info.
- CIS job URL that created the binaries.
- Currently executing CIS job URL.

#rb johan.berg

[CL 25796770 by robert millar in ue5-main branch]
2023-06-05 13:22:14 -04:00
galeone
431c09150e [UBT] Add support for Code coverage on Linux
#rb Brandon.Schaefer, Jerome.Delattre, Joe.Kirchoff

[CL 25794147 by galeone in ue5-main branch]
2023-06-05 12:03:25 -04:00
josh adams
f6381544e2 - Allow a project to override the Main SDK version for a platform (the platform's project Engine.ini would set
[OverrideSDK]
  SDKVersion=x.y.z
and AutoSDK, or anything using GetMainVersion(), would use that version string instead
- If multiple targets are built in one run of UBT/UAT, it will error out because there is no support to switch SDKs (and builds happen in parallel, etc)
- This is not a complete solution, because it can cause problems with shared tools like ShaderCompileWorker, when different projects are on different SDKs and they have one SCW to share
- Renamed GetMainVersion to GetMainVersionInternal(), and wrapped that in a new non-vitual GetMainVersion() that calls GetMainVersionInternal() (and handles the ini overrides)
#rb david.harvey,dave.barrett
#jira UE-185364
#preflight 647a12e7b0670733186c928e

[CL 25767233 by josh adams in ue5-main branch]
2023-06-02 13:42:59 -04:00
bryan sefcik
5fcc1c97a3 Updated the shared pch logic to traverse the dependency tree to find the best shared pch for each module. The logic before would only look at the direct dependencies which if changed could result in possibly worse compile times because a less optimal pch could be picked.
Note: There however are occasions where the old logic can give better shared pchs because it doesn't check whether there is a circular dependency. The new logic does check for circular dependencies so it can sometimes return a safer but less optimal shared PCH. If we find the old logic gives a better shared pch then we go ahead and use it. This will be removed after some of the circular dependencies are resolved.

#rb joe.kirchoff
#preflight 6477e3b87f02573726be946c

[CL 25720154 by bryan sefcik in ue5-main branch]
2023-05-31 23:29:01 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
joe kirchoff
57a8fe409c UnrealBuildTool: Use expression body for simple properties and accessors
#rnx
#preflight 64766abcfe6a3b258a04cb50

[CL 25691579 by joe kirchoff in ue5-main branch]
2023-05-30 18:01:50 -04:00
joe kirchoff
8d61991e8a Managed p/invoke libray for box rather than use a managed c++ library
#rnx
#rb Henrik.Karlsson
#preflight 64763f524b0d5a1eb1e81c38

[CL 25683741 by joe kirchoff in ue5-main branch]
2023-05-30 14:47:11 -04:00
tim smith
cf626105dd 1) Replaced bCanCache with new artifact mode flags
2) Added support in artifacts for relative paths
3) Modified ISPC header generation to be cached

At this time, only MSVC compiles are cached and -deterministic must be specified when building.

#rb josh.adams
#preflight 6470a172054af2576a2bd4b9

[CL 25647092 by tim smith in ue5-main branch]
2023-05-26 12:48:45 -04:00
stephen ma
e3ce54d344 UBT: Add debugging flag -dumpiniloads to show which .ini files are being loaded into hierarchy with ConfigCache.cs
#rb Josh.Adams
#preflight 6467bad3d1617529a447f6c7

[CL 25550397 by stephen ma in ue5-main branch]
2023-05-19 15:27:50 -04:00
stephen ma
190d569079 - Fixes NFL + Programs + Platform directories to look in the removed restricted program path, brings structure closer to Engine standard within Restricted Platform folders.
Before:
 "Engine\Restricted\NoRedist\Platforms\{Platform}\Restricted\NotForLicensees\Programs\{Project}Config\{Platform}Engine.ini"
After:
 "Engine\Restricted\NoRedist\Platforms\{Platform}\Programs\{Project}\Config\{Platform}Engine.ini"
- Fixed config paths for Restricted, non-Platform, program ini files (last change had put OPT_SUBDIR in too many places, it's only needed for Restricted Programs Platform files)

#rb Josh.Adams
#preflight 6466f5b775696d2bd71832dc

[CL 25548254 by stephen ma in ue5-main branch]
2023-05-19 13:53:24 -04:00
brandon schaefer
918a67f6d9 Support enabling AutoRTFM instrumentation on a Module level in UBT
#rb Neil.Henning, Joe.Kirchoff
#preflight 646655bd743f7c995bc7a7ff

[CL 25532181 by brandon schaefer in ue5-main branch]
2023-05-18 15:44:35 -04:00
will brown
6364a02056 UnrealBuildTool: Ensure that plugins do not have dependencies on any plugin that is sealed. Throw a build error if detected
#rb Joe.Kirchoff

[CL 25516847 by will brown in ue5-main branch]
2023-05-17 17:10:44 -04:00
Josh Adams
b7b60ee321 - Fixed an issue with checking to see if a project is a hybrid (content-only treated as code-based) when the project and engine contain plugins with the same name
#preflight 646506a4063e77985cb34e2b
#rb stuart.hill

[CL 25513702 by Josh Adams in ue5-main branch]
2023-05-17 14:58:08 -04:00
David Harvey
0d0744a604 Add missing NotNullWhen to config string array TryParse helper function.
#rb trivial
#rnx
#jira none
#preflight 6464b073317ee2d9d12c64fe

[CL 25504694 by David Harvey in ue5-main branch]
2023-05-17 07:07:05 -04:00
Josh Adams
9d4caec55a - Brought the idea of hybrid/temp targets for content only projects that need to be treated as code, to UBT instead of UAT. Generate temp targets when building or generating projects
- Only active when the project generator says it supports ContentOnly projects, although that is just for now until Xcode can test it out, in case it causes Visual Studio issues
#rb joe.kirchoff
#preflight 64638f4a4404e3cdd240327f

[CL 25490732 by Josh Adams in ue5-main branch]
2023-05-16 11:49:47 -04:00
brian white
87670c07a6 Restore functionality of the "-ini:" command line argument in UBT. Also restrict the scope of command line arguments parsed in ConfigCache::ReadHierarchy to prevent reading arguments from other "Target" command lines.
#jira none, seen on horde: https://horde.devtools.epicgames.com/job/6452e7bef007deab84c2680c?step=6cf6
#rb Josh.Adams
#preflight 645414f36c35ad81e6167d51

[CL 25388035 by brian white in ue5-main branch]
2023-05-09 10:56:54 -04:00
tim smith
e32f741420 1) Addition of the artifact interfaces
2) Moved common code from executors into an immediate action queue.
3) Added support in the immediate action queue to read/write artifacts

#rb joe.kirchoff
#preflight 6454f3c5ed7ffaa0f5b2fbfa

[CL 25355149 by tim smith in ue5-main branch]
2023-05-05 11:19:57 -04:00
joe kirchoff
54e368d84b UnrealBuildTool: Print time spent in executor before throwing any execeptions
#rnx
#rb trivial

[CL 25336919 by joe kirchoff in ue5-main branch]
2023-05-04 12:10:45 -04:00