diff --git a/Source/Tools/Flax.Build/Build/Builder.Projects.cs b/Source/Tools/Flax.Build/Build/Builder.Projects.cs
index 87c5b4d89..c4aac04f1 100644
--- a/Source/Tools/Flax.Build/Build/Builder.Projects.cs
+++ b/Source/Tools/Flax.Build/Build/Builder.Projects.cs
@@ -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);
diff --git a/Source/Tools/Flax.Build/Projects/Project.cs b/Source/Tools/Flax.Build/Projects/Project.cs
index 7cfe097b9..0f52ae7f5 100644
--- a/Source/Tools/Flax.Build/Projects/Project.cs
+++ b/Source/Tools/Flax.Build/Projects/Project.cs
@@ -253,9 +253,9 @@ namespace Flax.Build.Projects
///
/// Generates the project.
///
- public virtual void Generate(string solutionPath)
+ public virtual void Generate(string solutionPath, bool isMainProject)
{
- Generator.GenerateProject(this, solutionPath);
+ Generator.GenerateProject(this, solutionPath, isMainProject);
}
///
diff --git a/Source/Tools/Flax.Build/Projects/ProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/ProjectGenerator.cs
index 673f2e7d6..fbbeca14d 100644
--- a/Source/Tools/Flax.Build/Projects/ProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/ProjectGenerator.cs
@@ -52,7 +52,7 @@ namespace Flax.Build.Projects
/// Generates the project.
///
/// The project.
- public abstract void GenerateProject(Project project, string solutionPath);
+ public abstract void GenerateProject(Project project, string solutionPath, bool isMainProject);
///
/// Generates the solution.
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/CSProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/CSProjectGenerator.cs
index c5359f66e..9aba45d75 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudio/CSProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudio/CSProjectGenerator.cs
@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNet;
///
- public override void GenerateProject(Project project, string solutionPath)
+ public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
var csProjectFileContent = new StringBuilder();
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs
index 9059cda94..4058f9cf1 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs
@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNetCore;
///
- 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(" false"); // 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;
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
index fabae2b86..6196ef6b5 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
@@ -55,7 +55,7 @@ namespace Flax.Build.Projects.VisualStudio
}
///
- 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();
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/VisualStudioProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/VisualStudioProjectGenerator.cs
index a357a8c89..e3b214974 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudio/VisualStudioProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudio/VisualStudioProjectGenerator.cs
@@ -22,7 +22,7 @@ namespace Flax.Build.Projects.VisualStudio
public override Guid ProjectTypeGuid => ProjectTypeGuids.Android;
///
- 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);
diff --git a/Source/Tools/Flax.Build/Projects/VisualStudioCode/VisualStudioCodeProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudioCode/VisualStudioCodeProjectGenerator.cs
index 268bb87e1..367a081e3 100644
--- a/Source/Tools/Flax.Build/Projects/VisualStudioCode/VisualStudioCodeProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/VisualStudioCode/VisualStudioCodeProjectGenerator.cs
@@ -38,7 +38,7 @@ namespace Flax.Build.Projects.VisualStudioCode
}
///
- 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
}
diff --git a/Source/Tools/Flax.Build/Projects/XCodeProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/XCodeProjectGenerator.cs
index b8c31b252..5dba0cba1 100644
--- a/Source/Tools/Flax.Build/Projects/XCodeProjectGenerator.cs
+++ b/Source/Tools/Flax.Build/Projects/XCodeProjectGenerator.cs
@@ -42,7 +42,7 @@ namespace Flax.Build.Projects
}
///
- public override void GenerateProject(Project project, string solutionPath)
+ public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
}