Commit Graph

1562 Commits

Author SHA1 Message Date
joe kirchoff
20c19d6503 [Backout] - CL22754728
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealHeaderTool: BuildSetting.V3 (currently disabled) which disallows adding module parent directory to include path list

#rnx
#rb bryan.sefcik
#preflight 634df3105f008d633fd571d2

[CL 22795918 by joe kirchoff in ue5-main branch]
2022-10-26 18:18:06 -04:00
joe kirchoff
6e28fec987 UnrealHeaderTool: BuildSetting.V3 (currently disabled) which disallows adding module parent directory to include path list
#rnx
#rb bryan.sefcik
#preflight 634df3105f008d633fd571d2

[CL 22793005 by joe kirchoff in ue5-main branch]
2022-10-26 17:30:50 -04:00
l2oe
2e3a9fc59a PR #9636: UnrealBuildTool - .gexf export done with invariant culture. (Contributed by l2oe)
#jira UE-166290
#preflight 63530d1e3a547c3da39269bd

[CL 22701221 by l2oe in ue5-main branch]
2022-10-21 17:25:27 -04:00
Jason Nadro
a673e16ce5 Added the ability to do Unreal Insights traces of the Shader Compiler Worker process.
This can be enabled by modifying `UnrealEngine\Engine\Saved\UnrealBuildTool\BuildConfiguration.xml` like so:

    <?xml version="1.0" encoding="utf-8" ?>
    <Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
        <BuildConfiguration>
            <bShaderCompilerWorkerTrace>true</bShaderCompilerWorkerTrace>
        </BuildConfiguration>
    </Configuration>

- Added a build configuration xml value, `bShaderCompilerWorkerTrace`.
- Turning this on will set USE_SHADER_COMPILER_WORKER_TRACE=1
- Move the parameter -nothreading to be set when we launch the process instead of internally as an extra cmd line arg.
- Unreal Insights uses a separate thread to send events so threading support is needed for the program.  When we have USE_SHADER_COMPILER_WORKER_TRACE enabled we need to turn off `-nothreading`.
- When USE_SHADER_COMPILER_WORKER_TRACE is enabled we pass in `-trace=default` to get CPU event markers.
- The SCW program needs to turn on the following defines to be able to perform CPU and memory traces:
	ENABLE_LOW_LEVEL_MEM_TRACKER=1
	UE_MEMORY_TAGS_TRACE_ENABLED=1
	UE_TRACE_ENABLED=1
- Instrument Shader Compiler Worker with TRACE_CPUPROFILER_EVENT_SCOPE.  This are no-ops when this is turned off.

todo: Make the shader compiler worker inherit the trace args from the main process it was launched from.

#rb Yuriy.ODonnell
#jira none
#preflight 634ef80269246074db9637c2

[CL 22625183 by Jason Nadro in ue5-main branch]
2022-10-19 10:33:36 -04:00
bryan sefcik
b3f66b2e18 Added GetModuleDirectory which allows you to get the directory of the passed in module. This makes it easier to include directories from other modules.
#jira
[FYI] joe.kirchoff
#preflight 634de3f25f008d633fd22de1

[CL 22594094 by bryan sefcik in ue5-main branch]
2022-10-18 00:55:33 -04:00
bryan sefcik
3c6a04fdf6 Fixed an issue where SNDBS would fail to compile files on agents because the inlined gen.cpp files were not setup as prerequisites.
#rb joe.kirchoff

[CL 22464949 by bryan sefcik in ue5-main branch]
2022-10-11 16:49:17 -04:00
Robert Millar
a677dbc70e Allow disabling all static analysis on a module.
#rb joe.kirchoff
#jira none
#preflight https://horde.devtools.epicgames.com/job/6340540e174b13865728ca7c

[CL 22403984 by Robert Millar in ue5-main branch]
2022-10-07 13:30:19 -04:00
bryan sefcik
c71498d810 Fixed an issue where commented out #include inline.gen.cpp files would still be considered to be included.
#jira UE-166291

[CL 22389956 by bryan sefcik in ue5-main branch]
2022-10-06 20:53:52 -04:00
marc audy
0fc06b389b bStressTestUnity supercedes adaptive unity
#rb Joe.Kirchoff
#jira

[CL 22361863 by marc audy in ue5-main branch]
2022-10-05 15:50:57 -04:00
bryan sefcik
6245f9d961 Minor optimizations in UBT to improve time when creating the action graph.
#jira
#preflight 6335f77e2f447ea8dc26f758

[CL 22264273 by bryan sefcik in ue5-main branch]
2022-09-30 01:41:38 -04:00
bryan sefcik
f85124e026 Moved the logic to check for inline gen.cpp changes out of the if statement that only triggered when the directory changed. Now the sources are always checked properly.
#jira
#preflight 63353184ee7b13756deb11e0

[CL 22260864 by bryan sefcik in ue5-main branch]
2022-09-29 20:37:10 -04:00
bryan sefcik
9b6d73b95c Another optimization for when we iterate through header files when scanning the directories.
#jira
#preflight 633517e7c351ce85faff81e3

[CL 22244275 by bryan sefcik in ue5-main branch]
2022-09-29 02:32:55 -04:00
bryan sefcik
2fab2df752 Fixed a bug where the dependency file info was not cached properly if it changed. This resulted in the dependency files getting parsed every time we started UBT.
#jira
#preflight 63350898b946208fc1d57208

[CL 22244222 by bryan sefcik in ue5-main branch]
2022-09-29 02:27:41 -04:00
bryan sefcik
4a0fa07264 Optimized how files were iterated on when scanning the directories.
#jira
#preflight 633508bec351ce85fafc300b

[CL 22244215 by bryan sefcik in ue5-main branch]
2022-09-29 02:27:28 -04:00
bryan sefcik
001cc2d55e Fixed an issue where the makefile would not be invalidated if you switched back and forth between using inline gen cpp files when unity files were disabled. This would sometimes result in linker issues.
#jira
#preflight 6334bf5bb946208fc1c34ef2

[CL 22240851 by bryan sefcik in ue5-main branch]
2022-09-28 22:34:42 -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
Ben Marsh
f5ded91b41 UBT: Add support for throwing exceptions with structured logging events.
#preflight none
#fyi Joe.Kirchoff

[CL 22205263 by Ben Marsh in ue5-main branch]
2022-09-27 10:11:19 -04:00
nuno leiria
42049243ac Implemented ThinLTO cache and pruning arguments in UBT
#preflight 632c24691003050806482034
#rb Joe.Kirchoff, Wojciech.Krywult, Brian.White

[CL 22204860 by nuno leiria in ue5-main branch]
2022-09-27 09:48:46 -04:00
chris varnsverry
28126bc559 - Add missing EOSAuthHandlerActivity and intent-filter(s), required for login to work on Android
#jira OI-4946
[REVIEW] [at]Rob.Cannaday [at]Roman.Dzieciol [at]Sam.Zamani
#preflight 63299a7ef45b523a63f36ffa

[CL 22090859 by chris varnsverry in ue5-main branch]
2022-09-20 08:10:51 -04:00
bryan sefcik
dc368e588b Added the ability to override the NumIncludedBytesPerUnityCPP from the module rules. This is needed by some modules to better tune the size of the unity files.
Before:
1 Unity file
Total CPU Time: 162.90625 s
Total time in Parallel executor: 61.62 seconds

After:
6 Unity files
Total CPU Time: 169.15625 s
Total time in Parallel executor: 16.64 seconds

#jira
[FYI] nick.darnell, joe.kirchoff
#preflight 632889795f55ba280ec1ef84

[CL 22087017 by bryan sefcik in ue5-main branch]
2022-09-19 21:57:04 -04:00
bryan sefcik
e5edfdd06d Added support to inline the gen.cpp files into the module cpp files.
This change does a few things:
* Improves compile times because the gen.cpp is inlined so less header parsing is required.
* Allows us to forward declare more types in the headers where we were not able to because the gen.cpp files did not have all the required headers included. The gen.cpp files required the header that generated it to include all the types because of the constructor and desructor in the gen.cpp need to know the full type.

#jira
#preflight 6323b43f8131e92d65aed1d9

[CL 22064061 by bryan sefcik in ue5-main branch]
2022-09-16 20:28:51 -04:00
joe kirchoff
ddde68229a UnrealBuildTool: Also check for .git file as that denotes a git worktree, when getting the source file working set
#jira UE-163648
#rnx
#rb trivial
#preflight 63224a07e93a80888cc68507

[CL 22019750 by joe kirchoff in ue5-main branch]
2022-09-14 18:56:57 -04:00
tim smith
a13076902b Added warnings when C++ UHT is used. These warnings include the reasons why C++ UHT is being used. The warning is currently disabled but informational messages will still be generated.
#rb
#preflight 6322088da514fd1e37319c62

[CL 22015813 by tim smith in ue5-main branch]
2022-09-14 16:44:09 -04:00
bryan sefcik
f402b6abb5 Fixed an issue where people using writable workspaces would compile everything without using unity files because of the change to merge .gen.cpp files with module .cpp files in unity files.
#jira
#preflight 631f967180642a7fa7851034

[CL 21985018 by bryan sefcik in ue5-main branch]
2022-09-13 12:23:39 -04:00
josh adams
e41490b912 - Added a system to remap .ini section and key names. This will convert names on load, so saving out the section will use new names, and should not cause issues (we do not force update because the files are usually checked in, so we warn in logs and in the editor on start to tell folks to update).
- Deprecation warnings will show up in C# log, C++ log and in editor as a load warning
- Next changelist will use the system to make some replacements
#rb david.hibbits
#jira UE-130960
#preflight 631f3c4194758d0bf225bd95

[CL 21974033 by josh adams in ue5-main branch]
2022-09-12 18:15:29 -04:00