From aabd70fbe7bb2d251cbf5661d3a0c19b3e123f59 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 27 Jan 2025 19:35:27 +0100 Subject: [PATCH] Fix code project files generation to properly handle path slashes and ignore binary modules without exports #3086 --- Source/Tools/Flax.Build/Build/Builder.Projects.cs | 7 +++++-- Source/Tools/Flax.Build/Build/DotNet/Builder.DotNet.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/Tools/Flax.Build/Build/Builder.Projects.cs b/Source/Tools/Flax.Build/Build/Builder.Projects.cs index c3a8cc096..87c5b4d89 100644 --- a/Source/Tools/Flax.Build/Build/Builder.Projects.cs +++ b/Source/Tools/Flax.Build/Build/Builder.Projects.cs @@ -301,7 +301,7 @@ namespace Flax.Build else project.Path = targets[0].CustomExternalProjectFilePath; if (project.WorkspaceRootPath.StartsWith(rootProject.ProjectFolderPath)) - project.GroupName = Utilities.MakePathRelativeTo(project.WorkspaceRootPath, rootProject.ProjectFolderPath); + project.GroupName = Utilities.NormalizePath(Utilities.MakePathRelativeTo(project.WorkspaceRootPath, rootProject.ProjectFolderPath)); else if (projectInfo != Globals.Project) project.GroupName = projectInfo.Name; project.SourceDirectories = new List @@ -349,7 +349,10 @@ namespace Flax.Build var referenceBinaryModules = referenceModules.Keys.GroupBy(x => x.BinaryModuleName).ToArray(); foreach (var binaryModule in referenceBinaryModules) { - project.Defines.Add(binaryModule.Key.ToUpperInvariant() + "_API="); + var binaryModuleName = binaryModule.Key; + if (string.IsNullOrEmpty(binaryModuleName)) + continue; + project.Defines.Add(binaryModuleName.ToUpperInvariant() + "_API="); } } catch diff --git a/Source/Tools/Flax.Build/Build/DotNet/Builder.DotNet.cs b/Source/Tools/Flax.Build/Build/DotNet/Builder.DotNet.cs index f4ae09a1a..955231ecc 100644 --- a/Source/Tools/Flax.Build/Build/DotNet/Builder.DotNet.cs +++ b/Source/Tools/Flax.Build/Build/DotNet/Builder.DotNet.cs @@ -409,7 +409,7 @@ namespace Flax.Build var referencedBuild = buildData.FinReferenceBuildModule(dependencyModule.BinaryModuleName); if (referencedBuild != null && !string.IsNullOrEmpty(referencedBuild.ManagedPath)) { - // Reference binary module build build for referenced target + // Reference binary module build for referenced target fileReferences.Add(referencedBuild.ManagedPath); } }