Simplify build options merging

This commit is contained in:
Wojtek Figat
2022-07-18 18:09:00 +02:00
parent b67649dfbd
commit 66d1015399
3 changed files with 19 additions and 38 deletions

View File

@@ -97,12 +97,9 @@ namespace Flax.Build
sourceFiles.AddRange(moduleOptions.SourceFiles.Where(x => x.EndsWith(".cs")));
// Merge module into target environment
foreach (var e in moduleOptions.OutputFiles)
buildData.TargetOptions.LinkEnv.InputFiles.Add(e);
foreach (var e in moduleOptions.DependencyFiles)
buildData.TargetOptions.DependencyFiles.Add(e);
foreach (var e in moduleOptions.OptionalDependencyFiles)
buildData.TargetOptions.OptionalDependencyFiles.Add(e);
buildData.TargetOptions.LinkEnv.InputFiles.AddRange(moduleOptions.OutputFiles);
buildData.TargetOptions.DependencyFiles.AddRange(moduleOptions.DependencyFiles);
buildData.TargetOptions.OptionalDependencyFiles.AddRange(moduleOptions.OptionalDependencyFiles);
buildData.TargetOptions.Libraries.AddRange(moduleOptions.Libraries);
buildData.TargetOptions.DelayLoadLibraries.AddRange(moduleOptions.DelayLoadLibraries);
buildData.TargetOptions.ScriptingAPI.Add(moduleOptions.ScriptingAPI);

View File

@@ -175,12 +175,9 @@ namespace Flax.Build
// Link executable
exeBuildOptions.LinkEnv.InputLibraries.Add(Path.Combine(buildOptions.OutputFolder, buildOptions.Platform.GetLinkOutputFileName(OutputName, LinkerOutput.SharedLibrary)));
foreach (var e in mainModuleOptions.OutputFiles)
exeBuildOptions.LinkEnv.InputFiles.Add(e);
foreach (var e in mainModuleOptions.DependencyFiles)
exeBuildOptions.DependencyFiles.Add(e);
foreach (var e in mainModuleOptions.OptionalDependencyFiles)
exeBuildOptions.OptionalDependencyFiles.Add(e);
exeBuildOptions.LinkEnv.InputFiles.AddRange(mainModuleOptions.OutputFiles);
exeBuildOptions.DependencyFiles.AddRange(mainModuleOptions.DependencyFiles);
exeBuildOptions.OptionalDependencyFiles.AddRange(mainModuleOptions.OptionalDependencyFiles);
exeBuildOptions.Libraries.AddRange(mainModuleOptions.Libraries);
exeBuildOptions.DelayLoadLibraries.AddRange(mainModuleOptions.DelayLoadLibraries);
exeBuildOptions.ScriptingAPI.Add(mainModuleOptions.ScriptingAPI);

View File

@@ -358,14 +358,10 @@ namespace Flax.Build
var dependencyModule = buildData.Rules.GetModule(moduleName);
if (dependencyModule != null && buildData.Modules.TryGetValue(dependencyModule, out var dependencyOptions))
{
foreach (var e in dependencyOptions.OutputFiles)
moduleOptions.LinkEnv.InputFiles.Add(e);
foreach (var e in dependencyOptions.DependencyFiles)
moduleOptions.DependencyFiles.Add(e);
foreach (var e in dependencyOptions.OptionalDependencyFiles)
moduleOptions.OptionalDependencyFiles.Add(e);
foreach (var e in dependencyOptions.PublicIncludePaths)
moduleOptions.PrivateIncludePaths.Add(e);
moduleOptions.LinkEnv.InputFiles.AddRange(dependencyOptions.OutputFiles);
moduleOptions.DependencyFiles.AddRange(dependencyOptions.DependencyFiles);
moduleOptions.OptionalDependencyFiles.AddRange(dependencyOptions.OptionalDependencyFiles);
moduleOptions.PrivateIncludePaths.AddRange(dependencyOptions.PublicIncludePaths);
moduleOptions.Libraries.AddRange(dependencyOptions.Libraries);
moduleOptions.DelayLoadLibraries.AddRange(dependencyOptions.DelayLoadLibraries);
moduleOptions.ScriptingAPI.Add(dependencyOptions.ScriptingAPI);
@@ -377,14 +373,10 @@ namespace Flax.Build
var dependencyModule = buildData.Rules.GetModule(moduleName);
if (dependencyModule != null && buildData.Modules.TryGetValue(dependencyModule, out var dependencyOptions))
{
foreach (var e in dependencyOptions.OutputFiles)
moduleOptions.LinkEnv.InputFiles.Add(e);
foreach (var e in dependencyOptions.DependencyFiles)
moduleOptions.DependencyFiles.Add(e);
foreach (var e in dependencyOptions.OptionalDependencyFiles)
moduleOptions.OptionalDependencyFiles.Add(e);
foreach (var e in dependencyOptions.PublicIncludePaths)
moduleOptions.PublicIncludePaths.Add(e);
moduleOptions.LinkEnv.InputFiles.AddRange(dependencyOptions.OutputFiles);
moduleOptions.DependencyFiles.AddRange(dependencyOptions.DependencyFiles);
moduleOptions.OptionalDependencyFiles.AddRange(dependencyOptions.OptionalDependencyFiles);
moduleOptions.PublicIncludePaths.AddRange(dependencyOptions.PublicIncludePaths);
moduleOptions.Libraries.AddRange(dependencyOptions.Libraries);
moduleOptions.DelayLoadLibraries.AddRange(dependencyOptions.DelayLoadLibraries);
moduleOptions.ScriptingAPI.Add(dependencyOptions.ScriptingAPI);
@@ -855,12 +847,9 @@ namespace Flax.Build
var moduleOptions = BuildModule(buildData, module);
// Merge module into target environment
foreach (var e in moduleOptions.OutputFiles)
buildData.TargetOptions.LinkEnv.InputFiles.Add(e);
foreach (var e in moduleOptions.DependencyFiles)
buildData.TargetOptions.DependencyFiles.Add(e);
foreach (var e in moduleOptions.OptionalDependencyFiles)
buildData.TargetOptions.OptionalDependencyFiles.Add(e);
buildData.TargetOptions.LinkEnv.InputFiles.AddRange(moduleOptions.OutputFiles);
buildData.TargetOptions.DependencyFiles.AddRange(moduleOptions.DependencyFiles);
buildData.TargetOptions.OptionalDependencyFiles.AddRange(moduleOptions.OptionalDependencyFiles);
buildData.TargetOptions.Libraries.AddRange(moduleOptions.Libraries);
buildData.TargetOptions.DelayLoadLibraries.AddRange(moduleOptions.DelayLoadLibraries);
buildData.TargetOptions.ScriptingAPI.Add(moduleOptions.ScriptingAPI);
@@ -1117,10 +1106,8 @@ namespace Flax.Build
// Merge module into target environment
buildData.TargetOptions.ScriptingAPI.Add(moduleOptions.ScriptingAPI);
buildData.TargetOptions.ExternalModules.AddRange(moduleOptions.ExternalModules);
foreach (var e in moduleOptions.DependencyFiles)
buildData.TargetOptions.DependencyFiles.Add(e);
foreach (var e in moduleOptions.OptionalDependencyFiles)
buildData.TargetOptions.OptionalDependencyFiles.Add(e);
buildData.TargetOptions.DependencyFiles.AddRange(moduleOptions.DependencyFiles);
buildData.TargetOptions.OptionalDependencyFiles.AddRange(moduleOptions.OptionalDependencyFiles);
}
}
}