Commit Graph

190 Commits

Author SHA1 Message Date
Josh Adams
f650515e01 - Added a parameter to GenerateProjectFiles() to control if it generates the QueryTargets data for the editor (only the first project format needs to do this)
- Disabled it with IOS stub project gneeration that doesn't need the data (it can be slow)
#rb joe.kirchoff
#preflight 641a0b24ec01de1664e1bd7d

[CL 24738624 by Josh Adams in ue5-main branch]
2023-03-21 16:17:30 -04:00
LennardF1989
9a67525476 PR #8239: Support for project-specific BuildConfiguration.xml and Programs during project file generation (Contributed by LennardF1989)
Contains some additional changes from Joe.Kirchoff:
* Fix project dependency for rules parent chain
* Always add UnrealBuildTool and AutomationTool .csproj for game targets -except-
* Filter out other non-critial .csproj unless engine programs are included

#jira UE-120122
#jira UE-176963
#preflight 6413c6668354cad0facc7388

[CL 24690813 by LennardF1989 in ue5-main branch]
2023-03-17 12:14:26 -04:00
Josh Adams
0842a7adb3 - Added Framework support in Modern Xcode projects - this will copy and code sign frameworks directly via Xcode, instead of UBT doing it
#rb zack.neyland
#preflight 64078e282559570cc7f40fe2

[CL 24545611 by Josh Adams in ue5-main branch]
2023-03-07 14:28:06 -05:00
Josh Adams
4d71a93586 - Added ability to have a IDE project for each Target (UnrealGame vs UnrealEditor) and remove the Type from the Configurations (Debug, Development, etc - no more Development Editor config)
- Enabled for Xcode, added support but left disabled for VisualStudio
- For Games and Samples with multiple projects, a solution folder now contains them
#rb joe.kirchoff
#preflight 63efb20061378b7ea02bc32d

[CL 24285567 by Josh Adams in ue5-main branch]
2023-02-17 12:53:28 -05:00
tim smith
7c7a00bdcc Fixed issue where UBT fails to detect C# UBT plugins in the game folder.
#jira UE-175856
#preflight 63dbf5ea797b029c0ae35497
#rb josh.adams

[CL 24043021 by tim smith in ue5-main branch]
2023-02-06 20:00:27 -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
AfterThunk
c6f5066526 PR #10021: Better Additional Plugin Project Support (Contributed by AfterThunk)
#preflight 63cb38e0ef20a5272dc5de05

[CL 23801148 by AfterThunk in ue5-main branch]
2023-01-20 20:03:19 -05:00
anon-oss
16ac33f42d PR #9023: fix issue of writing make files with UTF8-BOM encoding (Contributed by anon-oss)
#preflight 63b5be70202bee5e270edf52

[CL 23577937 by anon-oss in ue5-main branch]
2023-01-04 13:08:20 -05:00
Joe Kirchoff
46864e5e46 UnrealBuildTool: Remove debug launch accidently checked in with GitHub PR
#rnx
#rb trivial
#preflight skipped

[CL 23571755 by Joe Kirchoff in ue5-main branch]
2023-01-03 18:36:57 -05:00
Temaran
7014c80670 PR #8657: Put tool projects in proper subfolders (Contributed by Temaran)
#preflight 63b48d0a2960b732204b85a4

[CL 23569164 by Temaran in ue5-main branch]
2023-01-03 15:21:46 -05:00
Josh Adams
622efc4c0d - More Architecture cleanup
- Added UAT params to pass architecture by target type (-editorarchitecture, -clientarchitecture, -serverarchitecture, -programarchitecture). Keeping -specifiedarchitecture for compat, and it will set all the other 4 if they are not specified
- Changed ProjectGenerator to find Program .uproject files (logic was looking for .Target files under the .uproject's directory, which is not the case for Programs)
- Added two params to GetProjectArchitectures:
    - bGetAllSupported - used to get all supported architectures, not just the ones currently being built for (needed for XcodeProject to know what architectures to allow in the dropdown)
    - bIsDistributionMode - used to get architectures to compile when making distribution builds (probably want to compile all architectures for distro's)
- Removed the MacExports.TargetsAlowedForAppleSilicon, updated XcodeProject code to use the new GetProjectArchitectures()
#rb david.harvey
#jira none
#preflight 63909f217e0feab0b7bd8241

[CL 23428114 by Josh Adams in ue5-main branch]
2022-12-07 09:42:34 -05:00
halfdan ingvarsson
c4516ee16c UBT: When running QueryTargets commandlet, only write out default targets, if one is specified for a given target type.
#jira none
#preflight 638518d67b4bd3f05730d73b

[CL 23295642 by halfdan ingvarsson in ue5-main branch]
2022-11-28 15:32:58 -05:00
Robert Millar
d1ae213d52 Server mode for UBT for use by VS Code extension. Provides compile configuration on demand, responding to commands over stdin in json format.
VS Code project file generator argument to skip compile commands json files.
VS Code project file generator adds VS Code extension id as configuration provider to configurations.
Add optional implementable funcion for toolchains to return the path to default C++ compiler.
Add rootdirectory= argument to provide root directory if UBT is published to a different directory than standard.

#jira none
#preflight 635c08e6052cb0bae6a5371a

[CL 22831178 by Robert Millar in ue5-main branch]
2022-10-28 12:59:39 -04:00
josh adams
b4b723bfa6 - More modernization of Xcode, focusing on Mac, IOS plist still needs a lot of work
- Premade "template" plist files for Mac, MacEditor, IOS, and added a PlistMode to choose between updating a template plist (from engine) or using a "baked" out plist that Xcode won't really mess with (this is still a work in progress, as it still needs thought on how to handle IOS premade vs Mac template, etc)
- Updating icons to using xcassets instead of .icns file
- Added post build step for UBT to write out build versions (increments each build) to a .xcconfig for Xcode to put into the .plist, but it reads previous value. Not terrible, but it still  needs work

#rb adam.king
#preflight 632c7e8ee23e50651b43139b

[CL 22137251 by josh adams in ue5-main branch]
2022-09-22 11:42:27 -04:00
Joe Kirchoff
52f52353ba Update terminology. Requires UGS update
#jira UE-158506
#jira UE-158507
#rnx
#rb trivial
#preflight 62c8a7958558075f42ac341d

[CL 21101128 by Joe Kirchoff in ue5-main branch]
2022-07-14 19:18:03 -04:00
nathandh13
174c550c32 PR #9128: Added option to remove programs when generating project file (Contributed by nathandh13)
#preflight 62a7d384c3492689258df1a4

[CL 20638783 by nathandh13 in ue5-main branch]
2022-06-13 20:22:46 -04:00
Joe Kirchoff
4a34c8be2e UnrealBuildTool: Handle modules with the same name in different paths when generating projects
#jira UE-138777
#rnx
#rb none
#preflight 629ea2a45d45a8ea9816a164

[CL 20531881 by Joe Kirchoff in ue5-main branch]
2022-06-06 21:16:53 -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
halfdan ingvarsson
6ca396c3fd UnrealBuildTool: Fix the Rider project generator in the presence of platform extension specializations.
#robomerge FNMain
#rb david.harvey
#preflight 6285233f2a7df8ed9f9dd2fa

[CL 20263449 by halfdan ingvarsson in ue5-main branch]
2022-05-18 13:09:30 -04:00
Tim Smith
36421e5c91 Minor refactor to UBT plugins.
Added support for props file for UBT plugins.  Needed for packaging of plugins having a ubt plugin

#rnx
#rb trivial
#preflight 62694f6a7f6900cdefa9431c

[CL 19939499 by Tim Smith in ue5-main branch]
2022-04-27 10:30:21 -04:00
Tim Smith
ee9ae5c66a Adding UBT plugin support currently only used by UHT
#rb jonathan.adamczewski ben.marsh
#preflight 625ff59ace2ef75d47707e74

[CL 19828042 by Tim Smith in ue5-main branch]
2022-04-20 08:27:26 -04:00
jonathan adamczewski
d4f03243e3 Remove various obsolete (deprecated) items in C# code
#jira none
#trivial
#rnx
#preflight 625a32bbde3638cefa4106cb

[CL 19786027 by jonathan adamczewski in ue5-main branch]
2022-04-18 11:27:53 -04:00
Josh Adams
a5ae97e75e - Look in Restricted directories for Shared projects
#rb ryan.durand
#jira none
#preflight 6258429a7a394d0082a8aa06

[CL 19758221 by Josh Adams in ue5-main branch]
2022-04-14 12:01:29 -04:00
Tim Smith
d87a922dfb UBT will now find "Shared" C# project files in the Restricted directories.
#rb joe.kirchoff
#rnx
#preflight 6255ab7b3f5641db59f99e0b

[CL 19724399 by Tim Smith in ue5-main branch]
2022-04-12 13:15:41 -04:00