Commit Graph

44 Commits

Author SHA1 Message Date
Joe Kirchoff
893d8f3065 UnrealBuildTool: Fix generate clang database not setting disable unity
#rnx
#jira none

[CL 26645644 by Joe Kirchoff in 5.3 branch]
2023-07-27 13:07:28 -04:00
christopher waters
288a0bdb9e Making more TargetDescriptor uses correctly handle different intermediate paths.
Making the global link environment use the modified intermediate path.

#rb joe.kirchoff

[CL 26525710 by christopher waters in 5.3 branch]
2023-07-21 16:57:04 -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
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
Ben Marsh
3889217961 UBT: Merging CL 25121561 to support async ToolMode and ActionExecutor instances.
#preflight none

[CL 25121660 by Ben Marsh in ue5-main branch]
2023-04-19 21:44:13 -04:00
Joe Kirchoff
0846b9bf69 UnrealBuildTool: Only -SingleFile compile files if they are included in the target. Requires storing the header list in the makefile
#rnx
#rb Josh.Adams
#rb Henril.Karlsson
#preflight 64125819bf53fdee19bbc593

[CL 24665702 by Joe Kirchoff in ue5-main branch]
2023-03-15 20:07:14 -04:00
Josh Adams
864b1270f6 - Skip hidden source files
#preflight 64060c6b2559570cc75368a8
#rb henry.falconer

[CL 24523412 by Josh Adams in ue5-main branch]
2023-03-06 11:07:00 -05:00
henrik karlsson
5f74d114d5 [UBT]
Changed how single files are built. We don't want to invalidate makefile everytime we build single files since it destroys turnaround times. With this change a single file compile can take 2s (+ the actual compile time).

The new behavior injects a special action per module when creating the makefile. These actions can be used to on-the-fly create a proper compile action that follows the rules of the module that the specific file belongs to.. In a normal build these actions are ignored since the logic deciding which actions to build is backtraced from which binaries we want to create.

When a specific file compile is triggered, the logic deciding which files to build search up all these special actions and create a lookup based on which folders the special actions handle. It then try to find the special action that handles the specific file. The matching special action then creates a compile action that can handle that specific file and then queue up the action for execution. If no special action is found it falls back to try to use actions that have this specific file as input (ispc files for example)

Details:
* Removed lots of custom code for "specific files" handling
* Changed so pch (both private and shared) always use definition file. Added #pragma once and change so pch wrapper file include definition file. This made the adaptive path and specific file easy to implement (just disable pch in compile environment and it will just work)
* Added SingleFileAction for both VCToolChain and ClangToolChain. It now works to compile specific headers and cpp files. (It creates wrapper files on the fly to be able to compile all header files (compiling headers directly blow up if there are circular includes)
* Fixed so GenerateClangDatabase mode works with new changes
* Moved the logic that makes sure all (directly) depending cpp files are recompiled when .h are included in the singlefile option

#preflight 63dcc46f78716a01e8069649
#rb joe.kirchoff

[CL 24094027 by henrik karlsson in ue5-main branch]
2023-02-09 04:20:43 -05:00
henrik karlsson
8c4b56c12b [UBT]
* ActionGraphBuilder - Added AllowAsync parameter to CreateIntermediateTextFile which defaults to true.
* UEBuildModuleCPP - Added AllowAsync false to one place where the code touches the file after CreateIntermediateTextFile has been called
* UEBuildModuleCPP - Changed so code writing LiveCodingInfo.json is using same path as others when it comes to writing files

#preflight 63d86264ec3d1af440d22e35
#rb joe.kirchoff

[CL 23924077 by henrik karlsson in ue5-main branch]
2023-01-31 01:28:52 -05:00
bryan sefcik
87c76b0576 Removed "-Compiler=Clang" because we found we got better results from the clang tools when they did the msvc to clang conversion for windows than UBT.
#jira

[CL 22647481 by bryan sefcik in ue5-main branch]
2022-10-19 22:01:14 -04:00
bryan sefcik
c6b0642d11 Updated GenerateClangDatabase to update more relative paths to be absolute.
#jira

[CL 22647467 by bryan sefcik in ue5-main branch]
2022-10-19 22:01:04 -04:00
bryan sefcik
40591cbff0 Fixes to get IWYU working/compiling on windows.
#jira
#rb devin.doucette
#preflight 634f228ca1527f6b3beefea2

[CL 22633095 by bryan sefcik in ue5-main branch]
2022-10-19 14:35:34 -04:00
joe kirchoff
abdd5ac8ca UnrealBuildTool: Don't throw entire action graph as an exception when there is a cycle
#rnx
#rb trivial
#preflight 63349be6ce6dba45926fb2d5

[CL 22240106 by joe kirchoff in ue5-main branch]
2022-09-28 22:11:23 -04:00
bryan sefcik
1599bfae2e Rewrote the GenerateClangDatabase mode in UBT to work with the clang tools like IWYU.
#preflight 63052ee5c744dac967fc287f

[CL 21519266 by bryan sefcik in ue5-main branch]
2022-08-23 16:36:20 -04:00
kaffeewolf
a3acfba5d6 PR #9449: Add support for specifying C Standard when compiling plain C files (Contributed by kaffeewolf)
#rb none
#preflight 62f2f8c33f500fb6dc059f18

[CL 21305284 by kaffeewolf in ue5-main branch]
2022-08-09 20:34:50 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
c512a89ace Rename UnrealBuildTool.EngineSourceDirectory -> Unreal.EngineSourceDirectory
#rnx
#rb trivial
#preflight 628e9fdaf622d972b59ebe85

[CL 20372061 by Joe Kirchoff in ue5-main branch]
2022-05-25 17:54:39 -04:00
jonathan adamczewski
c1bb6901bf Upgrade to .NET 6.0
#jira UE-119846
#preflight 624cbb2ecc0872e96b0d5181

[CL 19652696 by jonathan adamczewski in ue5-main branch]
2022-04-06 14:46:50 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
marc audy
be5732dd4b Generated code for UHT and VNI now stored in separate subfolders of the generated code directory
- so they can be independently wiped
- fix for build errors caused by stale files leftover from moved/renamed UBT module

#rb jonathan.adamczewski, tim.smith
#rnx
#preflight 6238de1704769ab493478dc1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19458771 via CL 19462083 via CL 19463537 via CL 19475357 via CL 19475717
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v935-19464907)

[CL 19476295 by marc audy in ue5-main branch]
2022-03-23 00:51:39 -04:00
Joe Kirchoff
a401460469 GenerateClangDatabase: Pass C++ Standard Flag correctly to clang-cl
#jira UE-143479
#rb trivial
#preflight none

[CL 19185790 by Joe Kirchoff in ue5-main branch]
2022-02-28 17:59:19 -05:00
ColdenCullen
dce8bb2afe PR #8800: UBT: GenerateClangDatabase: Escape quotes in definitions (Contributed by ColdenCullen)
#preflight 61eef615ba69a4fdb21c9bd2

[CL 18712688 by ColdenCullen in ue5-main branch]
2022-01-24 14:37:40 -05:00
ColdenCullen
244ad85bcd PR #8802: UBT: GenerateClangDatabase: Allow custom output directory using -OutputDir= (Contributed by ColdenCullen)
#preflight 61eef4a8ba69a4fdb21b5af6

[CL 18712252 by ColdenCullen in ue5-main branch]
2022-01-24 14:10:15 -05:00