Merge branch 'csharp_mainproj_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csharp_mainproj_fix

This commit is contained in:
Wojtek Figat
2025-02-27 15:43:25 +01:00
9 changed files with 12 additions and 13 deletions

View File

@@ -559,7 +559,7 @@ namespace Flax.Build
foreach (var project in projects) foreach (var project in projects)
{ {
Log.Verbose(project.Name + " -> " + project.Path); Log.Verbose(project.Name + " -> " + project.Path);
project.Generate(solutionPath); project.Generate(solutionPath, project == mainSolutionProject);
} }
} }
@@ -638,7 +638,7 @@ namespace Flax.Build
using (new ProfileEventScope("GenerateProject")) using (new ProfileEventScope("GenerateProject"))
{ {
Log.Verbose("Project " + rulesProjectName + " -> " + project.Path); Log.Verbose("Project " + rulesProjectName + " -> " + project.Path);
dotNetProjectGenerator.GenerateProject(project, solutionPath); dotNetProjectGenerator.GenerateProject(project, solutionPath, project == mainSolutionProject);
} }
projects.Add(project); projects.Add(project);

View File

@@ -253,9 +253,9 @@ namespace Flax.Build.Projects
/// <summary> /// <summary>
/// Generates the project. /// Generates the project.
/// </summary> /// </summary>
public virtual void Generate(string solutionPath) public virtual void Generate(string solutionPath, bool isMainProject)
{ {
Generator.GenerateProject(this, solutionPath); Generator.GenerateProject(this, solutionPath, isMainProject);
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@@ -52,7 +52,7 @@ namespace Flax.Build.Projects
/// Generates the project. /// Generates the project.
/// </summary> /// </summary>
/// <param name="project">The project.</param> /// <param name="project">The project.</param>
public abstract void GenerateProject(Project project, string solutionPath); public abstract void GenerateProject(Project project, string solutionPath, bool isMainProject);
/// <summary> /// <summary>
/// Generates the solution. /// Generates the solution.

View File

@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNet; public override TargetType? Type => TargetType.DotNet;
/// <inheritdoc /> /// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath) public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{ {
var csProjectFileContent = new StringBuilder(); var csProjectFileContent = new StringBuilder();

View File

@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNetCore; public override TargetType? Type => TargetType.DotNetCore;
/// <inheritdoc /> /// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath) public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{ {
var dotnetSdk = DotNetSdk.Instance; var dotnetSdk = DotNetSdk.Instance;
var csProjectFileContent = new StringBuilder(); var csProjectFileContent = new StringBuilder();
@@ -109,8 +109,7 @@ namespace Flax.Build.Projects.VisualStudio
//csProjectFileContent.AppendLine(" <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>"); // TODO: use it to reduce burden of framework libs //csProjectFileContent.AppendLine(" <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>"); // TODO: use it to reduce burden of framework libs
// Custom .targets file for overriding MSBuild build tasks, only invoke Flax.Build once per Flax project // Custom .targets file for overriding MSBuild build tasks, only invoke Flax.Build once per Flax project
bool isMainProject = Globals.Project.IsCSharpOnlyProject && Globals.Project.ProjectFolderPath == project.WorkspaceRootPath && project.Name != "BuildScripts" && (Globals.Project.Name != "Flax" || project.Name != "FlaxEngine");
var flaxBuildTargetsFilename = isMainProject ? "Flax.Build.CSharp.targets" : "Flax.Build.CSharp.SkipBuild.targets"; var flaxBuildTargetsFilename = isMainProject ? "Flax.Build.CSharp.targets" : "Flax.Build.CSharp.SkipBuild.targets";
var cacheProjectsPath = Utilities.MakePathRelativeTo(Path.Combine(Globals.Root, "Cache", "Projects"), projectDirectory); var cacheProjectsPath = Utilities.MakePathRelativeTo(Path.Combine(Globals.Root, "Cache", "Projects"), projectDirectory);
var flaxBuildTargetsPath = !string.IsNullOrEmpty(cacheProjectsPath) ? Path.Combine(cacheProjectsPath, flaxBuildTargetsFilename) : flaxBuildTargetsFilename; var flaxBuildTargetsPath = !string.IsNullOrEmpty(cacheProjectsPath) ? Path.Combine(cacheProjectsPath, flaxBuildTargetsFilename) : flaxBuildTargetsFilename;

View File

@@ -55,7 +55,7 @@ namespace Flax.Build.Projects.VisualStudio
} }
/// <inheritdoc /> /// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath) public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{ {
var vcProjectFileContent = new StringBuilder(); var vcProjectFileContent = new StringBuilder();
var vcFiltersFileContent = new StringBuilder(); var vcFiltersFileContent = new StringBuilder();

View File

@@ -22,7 +22,7 @@ namespace Flax.Build.Projects.VisualStudio
public override Guid ProjectTypeGuid => ProjectTypeGuids.Android; public override Guid ProjectTypeGuid => ProjectTypeGuids.Android;
/// <inheritdoc /> /// <inheritdoc />
public override void Generate(string solutionPath) public override void Generate(string solutionPath, bool isMainProject)
{ {
// Try to reuse the existing project guid from existing files // Try to reuse the existing project guid from existing files
ProjectGuid = GetProjectGuid(Path, Name); ProjectGuid = GetProjectGuid(Path, Name);

View File

@@ -38,7 +38,7 @@ namespace Flax.Build.Projects.VisualStudioCode
} }
/// <inheritdoc /> /// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath) public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{ {
// Not used, solution contains all projects definitions // Not used, solution contains all projects definitions
} }

View File

@@ -42,7 +42,7 @@ namespace Flax.Build.Projects
} }
/// <inheritdoc /> /// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath) public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{ {
} }