Commit Graph

218 Commits

Author SHA1 Message Date
calvin zheng
3cbb71e895 - Yet another fix, this time for UnrealEditor standalone with clean build
#rb self

#ushell-cherrypick of 26159153 by Josh.Adams

[CL 26159286 by calvin zheng in 5.3 branch]
2023-06-21 15:39:06 -04:00
calvin zheng
4b612a259b - Fixed errors with plugin modules failing to find a project to put into (better fix then yesterday's for the AdditionalPluginDirectories)
#rb self
#[robomerge] 5.3

#ushell-cherrypick of 26156103 by Josh.Adams

[CL 26156426 by calvin zheng in 5.3 branch]
2023-06-21 14:26:53 -04:00
calvin zheng
fb7cad540f - Fix crash with UnrealEditor builds, caused by earlier fix for AdditionalPluginDirectories warning
#rb trivial

#ushell-cherrypick of 26140047 by Josh.Adams

[CL 26152798 by calvin zheng in 5.3 branch]
2023-06-21 12:30:58 -04:00
calvin zheng
db892aed9d - Moved the SingleTargetName property up to ProjectFileGenerator from Xcode generator, and use it to remove Targets from the list to be processed. This is useful because when modern Xcode creates a stub xcode project for a Program, it has no uproject to use with "-game -project", so the GPF code would process all .Target.cs files, which can lead to warnings about missing AdditionalPluginDirectories (build machines may not fully sync a stream, and processing every Target can cause unexpected problems)
#rb joe.kirchoff

#ushell-cherrypick of 26132088 by Josh.Adams

[CL 26152295 by calvin zheng in 5.3 branch]
2023-06-21 12:04:21 -04:00
Josh Adams
29e1d190e2 - Fixed project generation for code plugins under hybrid temp targets
[CL 25954295 by Josh Adams in ue5-main branch]
2023-06-13 12:05:44 -04:00
joe kirchoff
e63f39e009 UnrealBuildTool: Fix failure to open/browse to source file in Visual Studio
* Write PrimaryProjectPath.txt with the location of the solution, this could be different than the root depending on project gen arguments
* Update SourceCodeAccessor accordingly to get the correct path to the solution, maintaining old defaults if the PrimaryProjectPath.txt file is not found

#rnx
#jira UE-114382

[CL 25935357 by joe kirchoff in ue5-main branch]
2023-06-12 15:33:56 -04:00
joe kirchoff
c2917fa859 UnrealBuildTool: Filter out programs when generating projects if they're not located under Source/Programs after the TargetRule is created
#rnx
#rb trivial

[CL 25860547 by joe kirchoff in ue5-main branch]
2023-06-07 18:15:41 -04:00
josh adams
11028c13f4 - Fixed a crash when generating some Xcode stub projects for commandline building. I could not repro, but this fix works for someone that could
#rb adam.kinge

[CL 25857364 by josh adams in ue5-main branch]
2023-06-07 16:43:13 -04:00
joe kirchoff
90ee0e778b [Backout] - CL25209946
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Fix failure to open/browse to source file in Visual Studio
* Always update PrimaryProjectName.txt when a project specific solution is generated
* -Game solution is always placed under the project directory, update SourceCodeAccessor according, this code was out of date

#rnx
#jira UE-114382
#preflight 6449c0c4401d328ad93a635b

[CL 25732405 by joe kirchoff in ue5-main branch]
2023-06-01 13:38:36 -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
Ben Marsh
c80dcd77cb Fix UBT/UAT building on Windows ARM64.
#preflight 6477562f4b0d5a1eb1411fa1

[CL 25701794 by Ben Marsh in ue5-main branch]
2023-05-31 10:31:38 -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
Josh Adams
017c7ef4c5 - Allow a project file generator to create temporary primary projects (.sln, .xcworkspace, etc) in the Intermediate/ProjectFIles directory where the rest of the projects are created (the generator would need to not hardcode relative paths from parimary to sub projects)
#rb joe.kirchoff
#preflight 646fb3d68174dda722e93c2c

[CL 25629330 by Josh Adams in ue5-main branch]
2023-05-25 17:18:29 -04:00
Josh Adams
a2263b2ce0 - Xcode support for Content Only projects
- Added a top-level .xcconfig file to Xcode workspace for use with UnrealGame/etc so it knows where to find staged data, and set the commandline automatically
  - Stage the UECommandLine.txt file for modern builds because we no longer make the Bootstrap .app
  - Added XcodeBuildMode enum/string so scripts can tell when the project is being built (so build time could act differently than stage time, etc)
  - Making use of the enum and other env vars to skip steps when not needed

- Other fixes for project generation
  - Added -modernxcode and -legacyxcode comandline options which will override the .ini setting (refactored all UseModern checks into one function)
  - Support for programs that have a .uproject, and GPF with -game -project=<program.uproject>
  - Added success return value to FinalizeAppWithModernXcode
  - Added quotes to fix paths with spaces in GenerateProjectFiles.command
  - Enabled parallel AddAdditionalNativeTargetInformation for gathering Frameworks from targts, now that parallel project generation has been enabled and most parallel issues are fixed

#preflight 646ce67c2e78be98411323d9
#rb zack.neyland
#preflight 646f8f2850786bb5ba8a98f0

[CL 25623979 by Josh Adams in ue5-main branch]
2023-05-25 13:04:27 -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
Benn Gallagher
7473847b3c Fix UBT project generation skipping remove on invalid targets when buliding the collection of project file targets.
#rb Josh.Adams
#jira none
#preflight 645e384eea1c7ba4d6127813

[CL 25447281 by Benn Gallagher in ue5-main branch]
2023-05-12 09:20:56 -04:00
Josh Adams
0bf75c41e2 - Added support for allowing ContentOnly projects to have projectfiles generated for them (with GenerateProjectFiles -game -project=<project>). A projectfile generator needs to opt in for this because the generator will need to handle the special cases for using UnrealGame in the context of a .uproject. Xcode will be the first generator to support it
#rb joe.kirchoff,david.harvey
#preflight 645d23616b4bdec267a26121

[CL 25431284 by Josh Adams in ue5-main branch]
2023-05-11 13:29:59 -04:00
Josh Adams
d1511ade28 - Fixed generatingXcode temporary projects (hybrid content-only-as-code projects)
- Updated the temp .Target.cs to use modern include order to avoid some warning spam
#preflight 645871664c3ec54e6ef344ca
#rb none (but tested by wei.lu)

[CL 25370095 by Josh Adams in ue5-main branch]
2023-05-08 09:44:42 -04:00
Joe Kirchoff
d0a2767ece UnrealBuildTool: Fix failure to open/browse to source file in Visual Studio
* Always update PrimaryProjectName.txt when a project specific solution is generated
* -Game solution is always placed under the project directory, update SourceCodeAccessor according, this code was out of date

#rnx
#jira UE-114382
#preflight 6449c0c4401d328ad93a635b

[CL 25209946 by Joe Kirchoff in ue5-main branch]
2023-04-26 20:42:54 -04:00
AfterThunk
574803c791 PR #10354: Allow AdditionalPlugins use in multiple projects (Contributed by AfterThunk)
#preflight 6441619ba35280ed4f4383e1

[CL 25129223 by AfterThunk in ue5-main branch]
2023-04-20 12:06:13 -04:00
Josh Adams
4c3471b8a7 - After staging, Modern xcode projects will build with stub xcode project to generate a complete .app in the root of the staging directory (tested Mac and IOS)
- Fixed up scripts for copying files into mac .app with modern xcode
- Changed bIncludeEngineSource being false to not remove game/samples/mods/etc from projects (only stub xcode projects set it to false, afaict)
#rb zack.neyland
#preflight 642cc4c21d19c0312af476c0

[CL 24922909 by Josh Adams in ue5-main branch]
2023-04-04 20:54:06 -04:00
bryan sefcik
27af9dd7cb Updated to write out the PrimaryProjectName.txt only once even if the contents need to change. This fixes an issue where a certain platform was writing it twice and UBT would throw an warning about the file being written multiple times.
#jira UE-181790
#fyi joe.kirchoff
#preflight 6425bc9c50546ea33649da6f

[CL 24856495 by bryan sefcik in ue5-main branch]
2023-03-30 13:13:51 -04:00