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)
{
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"))
{
Log.Verbose("Project " + rulesProjectName + " -> " + project.Path);
dotNetProjectGenerator.GenerateProject(project, solutionPath);
dotNetProjectGenerator.GenerateProject(project, solutionPath, project == mainSolutionProject);
}
projects.Add(project);

View File

@@ -253,9 +253,9 @@ namespace Flax.Build.Projects
/// <summary>
/// Generates the project.
/// </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 />

View File

@@ -52,7 +52,7 @@ namespace Flax.Build.Projects
/// Generates the project.
/// </summary>
/// <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>
/// Generates the solution.

View File

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

View File

@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNetCore;
/// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath)
public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
var dotnetSdk = DotNetSdk.Instance;
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
// 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");
// Custom .targets file for overriding MSBuild build tasks, only invoke Flax.Build once per Flax project
var flaxBuildTargetsFilename = isMainProject ? "Flax.Build.CSharp.targets" : "Flax.Build.CSharp.SkipBuild.targets";
var cacheProjectsPath = Utilities.MakePathRelativeTo(Path.Combine(Globals.Root, "Cache", "Projects"), projectDirectory);
var flaxBuildTargetsPath = !string.IsNullOrEmpty(cacheProjectsPath) ? Path.Combine(cacheProjectsPath, flaxBuildTargetsFilename) : flaxBuildTargetsFilename;

View File

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

View File

@@ -22,7 +22,7 @@ namespace Flax.Build.Projects.VisualStudio
public override Guid ProjectTypeGuid => ProjectTypeGuids.Android;
/// <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
ProjectGuid = GetProjectGuid(Path, Name);

View File

@@ -38,7 +38,7 @@ namespace Flax.Build.Projects.VisualStudioCode
}
/// <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
}

View File

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