Commit Graph

324 Commits

Author SHA1 Message Date
LouisPhilippe Seguin
a21f510ae7 UnrealBuildTool
* Added option to generate assembly files while compiling cpp files.
* Supported only on MSVC compiler for now.
* The generated files have the .asm extension and are located in the same Intermediate folder as the corresponding .obj

#jira none
#rb Joe.Kirchoff
#preflight

[CL 24545403 by LouisPhilippe Seguin in ue5-main branch]
2023-03-07 14:20:51 -05:00
bryan sefcik
4a0a8b2630 Re-added a few properties that were removed and added obsolete tags to them.
#rb joe.kirchoff
#preflight 63ff89d6dd78dd50f6829700

[CL 24465653 by bryan sefcik in ue5-main branch]
2023-03-01 12:46:23 -05:00
bryan sefcik
a9014116de Replaced the target rule bool "bMergeModuleAndGeneratedUnityFiles" with a list of modules that disable the functionality of merging the module and generated cpp files(DisableMergingModuleAndGeneratedFilesInUnityFiles). The engine modules will depend on merging the module and generated cpp files being in the same unity files very soon so we can't allow turning off the functionality across all the code. This change allows licensees to disable the merging of a specific module if it is needed.
#rb joe.kirchoff
#preflight 63fe7a3c437ce3e7f3b53617

[CL 24453378 by bryan sefcik in ue5-main branch]
2023-02-28 17:39:01 -05:00
bryan sefcik
798f48c9f9 Removed the ability to disable inlining gen.cpp files. The engine code relies on this feature and can't compile without it now.
#fyi joe.kirchoff
#preflight 63fd48de2b1a2765f9a987a5

[CL 24447101 by bryan sefcik in ue5-main branch]
2023-02-28 13:50:14 -05:00
joe kirchoff
606c42edeb Module include path validation. Disabled until outstanding issues are fixed
#rnx
#jira UE-177808
#rb Tim.Smith

[CL 24412746 by joe kirchoff in ue5-main branch]
2023-02-24 19:01:37 -05:00
joe kirchoff
79ae250739 UnrealBuildTool: Enable BuildSettings.V3 as default for Engine modules
#rnx
#rb Henrik.Karlsson
#jira UE-176989
#preflight 63efc55f90198dffba00b1f9

[CL 24286835 by joe kirchoff in ue5-main branch]
2023-02-17 13:38:47 -05:00
joe kirchoff
db2575d135 [Backout] - CL24273393
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Enable BuildSettings.V3 as default for Engine modules

#rnx
#rb Henrik.Karlsson
#jira UE-176989

[CL 24275425 by joe kirchoff in ue5-main branch]
2023-02-16 21:10:36 -05:00
Joe Kirchoff
55f8984bfb UnrealBuildTool: Enable BuildSettingsVersion.V3 as default for Engine modules
#jira UE-176989
#rb henrik.karlsson
#preflight 63eea1a3d60e91569b66188a

[CL 24270612 by Joe Kirchoff in ue5-main branch]
2023-02-16 17:45:35 -05:00
ben woodhouse
982c48de6a Add support for overriding module optimization mode from a target. This allows game projects to override engine module optimization modes.
Note: This also implicitly disables PCH usage if a private PCH isn't set (this was previously fatal, but we need to be more flexible if we're overriding from the target).

#rb joe.kirchoff

[CL 24225336 by ben woodhouse in ue5-main branch]
2023-02-14 20:53:08 -05:00
Josh Adams
0f1dbb1c49 - Added MarkUsed flag to CommandLineAttribute
- Fixed up how UnrealArchitectureConfig classes have commandline applied
- Proper fix for UE-176691
#jira UE-176691
#rb joe.kirchoff
#preflight 63ebd379514832b2425b83c2

[CL 24217163 by Josh Adams in ue5-main branch]
2023-02-14 13:57:08 -05:00
Joe Kirchoff
f2bf59fcf7 UnrealBuildTool: Command line arg to enable edit and continue support
#rnx
#rb trivial
#preflight 63eabeb1956709374a642166

[CL 24194002 by Joe Kirchoff in ue5-main branch]
2023-02-13 18:04:25 -05:00
joe kirchoff
2871eccc2c UnrealBuildTool: Fix issue that is causing -Compiler= to not be applied to WindowsTargetRules by applying arch configs and command lines in the TargetRules. Partial back out of 23931789
#rnx
#jira UE-176691
[FYI] Josh.Adams
#preflight 63e58a7dcf3b0e3deea9303e

[CL 24114144 by joe kirchoff in ue5-main branch]
2023-02-09 22:37:55 -05:00
bryan sefcik
592942fad7 Added support for Clang PCH chaining
https://clang.llvm.org/docs/PCHInternals.html#chained-precompiled-headers

Linux - EngineTestEditor -allmodules
Before:
Total PCH Size: 3.41 GB

After:
Total PCH Size: 2.65 GB

#jira
#rb joe.kirchoff
#preflight 63e57da9636f66aac7dc1818

[CL 24114121 by bryan sefcik in ue5-main branch]
2023-02-09 22:37:30 -05:00
chris constantinescu
4e7e7f9f3f LLT cleanup and improvements/updates:
- remove dependency on LaunchEngineLoop.cpp which also allows compilation against engine to succeed
- LowLevelTestsRunner no dependency on engine modules required: Launch, Core, Project
- EXPLICIT_TESTS_TARGET definition for self-contained tests: test modules and targets that derive from TestModuleRules/TestTargetRules respectively
- Cleanup Launch dependencies from existing explicit tests
- Cleanup redundant flags from existing explicit tests
- rename Self -> Foundation for in Horde
- additional platform fixes
Default #preflight 63e14d37244dc45a20e29337
All platform/tests LLTs #preflight 63e022f91b44ee7cb1c11d60
#rnx

[CL 24035900 by chris constantinescu in ue5-main branch]
2023-02-06 14:27:24 -05:00
Joe Kirchoff
a46c2bb6c1 UnrealBuildTool: Reference any Target.cs files as rules dependencies so modifying them will update the Makefile, as these TargetRules can be referenced
#rnx
#rb Tim.Smith
#jira UE-168481
#preflight 63d7fa38d21dbe1d29525dd3

[CL 23910603 by Joe Kirchoff in ue5-main branch]
2023-01-30 12:31:04 -05:00
christopher waters
913f11f6ba Adding EngineIncludeOrderVersion for UE5.3
#preflight 63d1a1b7be435f17b40b1a27

[CL 23863406 by christopher waters in ue5-main branch]
2023-01-25 20:42:33 -05:00
christopher waters
d7d4dfcfa7 IWYU should use the latest deprecation tag and not have a hardcoded string.
Deduplicating the engine include order strings.

#rb joe.kirchoff, henrik.karlsson
#preflight 63d04702f2318350a2acf729

[CL 23844755 by christopher waters in ue5-main branch]
2023-01-25 02:42:58 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
alex kahn
1199db4b52 [Backout] - CL23735141 - Backing out my back out as it seems like there are 2 CL's to backout and I backed it out of order
[FYI] alex.kahn
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL23729890 - Nightly Win64 Build Error
[FYI] JeanMichel.Dignard
Original CL Desc
-----------------------------------------------------------------
Engine FExec (exec commands) changes
- Add Exec_Dev and Exec_Editor virtual functions to allow implementing Exec for specific configurations.
- Add a UBT flag: bAllowExecCommandsInShipping as a master switch to allow or remove Exec in shipping.
- The default Exec implementation calls both Exec_Dev and Exec_Editor, when they are available.
- Blueprint ExecuteConsoleCommand will now ask the console manager to process the command before falling back to Player and GEngine Exec. This is to make sure that if exec commands are disabled the blueprint node is still able to execute console commands.

#rb Josh.Adams
#preflight 63c570c002024f93d8011c2e

[CL 23735316 by alex kahn in ue5-main branch]
2023-01-17 01:46:10 -05:00
alex kahn
9ca4cd21fc [Backout] - CL23729890 - Nightly Win64 Build Error
[FYI] JeanMichel.Dignard
Original CL Desc
-----------------------------------------------------------------
Engine FExec (exec commands) changes
- Add Exec_Dev and Exec_Editor virtual functions to allow implementing Exec for specific configurations.
- Add a UBT flag: bAllowExecCommandsInShipping as a master switch to allow or remove Exec in shipping.
- The default Exec implementation calls both Exec_Dev and Exec_Editor, when they are available.
- Blueprint ExecuteConsoleCommand will now ask the console manager to process the command before falling back to Player and GEngine Exec. This is to make sure that if exec commands are disabled the blueprint node is still able to execute console commands.

#rb Josh.Adams
#preflight 63c570c002024f93d8011c2e

[CL 23735315 by alex kahn in ue5-main branch]
2023-01-17 01:45:57 -05:00
jeanmichel dignard
f235594982 Engine FExec (exec commands) changes
- Add Exec_Dev and Exec_Editor virtual functions to allow implementing Exec for specific configurations.
- Add a UBT flag: bAllowExecCommandsInShipping as a master switch to allow or remove Exec in shipping.
- The default Exec implementation calls both Exec_Dev and Exec_Editor, when they are available.
- Blueprint ExecuteConsoleCommand will now ask the console manager to process the command before falling back to Player and GEngine Exec. This is to make sure that if exec commands are disabled the blueprint node is still able to execute console commands.

#rb Josh.Adams
#preflight 63c570c002024f93d8011c2e

[CL 23730460 by jeanmichel dignard in ue5-main branch]
2023-01-16 12:26:54 -05:00
christopher waters
c8fb19a8de IWYU iteration changes
- Adding -IWYUHeadersOnly command line option to restrict IWYU to just header files
- Adding IWYU support for -Module=XXX

#rb henrik.karlsson
#preflight 63c05f7e1a06fc61057cf347

[CL 23670631 by christopher waters in ue5-main branch]
2023-01-12 17:29:36 -05:00
Patrick Boutot
119f9eebe0 Add a TargetRule to remove FixedTimeStep/Deterministic mode from a project.
#jira UE-173425
#review-23644552 https://p4-swarm.epicgames.net/reviews/23591960
#rb marin.sevigny
#preflight 63bebe4f6729b05ec94a31fb

[CL 23644806 by Patrick Boutot in ue5-main branch]
2023-01-11 09:26:04 -05:00
mickael gilabert
8035f50368 UBT: Expose OptimizationLevel to cmd line
[REVIEW] [at]joe.kirchoff
#rnx

[CL 23580316 by mickael gilabert in ue5-main branch]
2023-01-04 15:50:38 -05:00
bryan sefcik
c998a06737 Fixes to get arm64 and arm64ec to partially compile.
#jira
#fyi josh.adams
#preflight 6392612567018b14b5af1d5f

[CL 23456665 by bryan sefcik in ue5-main branch]
2022-12-08 17:28:30 -05:00