Commit Graph

219 Commits

Author SHA1 Message Date
christopher waters
95ea0ff61a Adding UnrealIntermediateEnvironment to allow different intermediate paths based on build settings.
This removes the old hack that renames the target based on nonunity being set while also adding a new intermediates folder for IWYU.

#jira UE-190274
#rb joe.kirchoff

[CL 26514773 by christopher waters in 5.3 branch]
2023-07-21 12:03:57 -04:00
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