Unreal Build Configurations
Posted: 13 Feb 2024, 16:59
We want to build our project such that the Shipping and Test version links to Release version of Noesis and other versions link to the Profile version.
We've tried trivially changing the existing Noesis build script (Noesis.build.cs) such that it chooses a different folder for each config
e.g. change this:
to this:
we get the build error
"Unable to merge actions 'Noesis.dll' and 'Noesis.dll': PrerequisiteItems, CommandArguments are different"
I think this is because the Editor is always built as Development and so when building a Shipping version of the game, it builds a Development version of the tools and both versions map Noesis.dll to the same path.
Any ideas on how to do this properly?
We've tried trivially changing the existing Noesis build script (Noesis.build.cs) such that it chooses a different folder for each config
e.g. change this:
Code: Select all
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PublicAdditionalLibraries.Add(Path.Combine(NoesisBasePath, "Lib", "windows_x86_64", "Noesis.lib"));
string NoesisDllPath = Path.Combine(NoesisBasePath, "Bin", "windows_x86_64", "Noesis.dll");
string NoesisDllTargetPath = Path.Combine("$(BinaryOutputDir)", "Noesis.dll");
RuntimeDependencies.Add(NoesisDllTargetPath, NoesisDllPath, StagedFileType.NonUFS);
}
Code: Select all
string ConfigurationFolder = "profile";
if (Target.Configuration == UnrealTargetConfiguration.Shipping || Target.Configuration == UnrealTargetConfiguration.Test)
{
ConfigurationFolder = "release";
}
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PublicAdditionalLibraries.Add(Path.Combine(NoesisBasePath, "Lib", "windows_x86_64", ConfigurationFolder, "Noesis.lib"));
string NoesisDllPath = Path.Combine(NoesisBasePath, "Bin", "windows_x86_64", ConfigurationFolder, "Noesis.dll");
string NoesisDllTargetPath = Path.Combine("$(BinaryOutputDir)", "Noesis.dll");
RuntimeDependencies.Add(NoesisDllTargetPath, NoesisDllPath, StagedFileType.NonUFS);
}
"Unable to merge actions 'Noesis.dll' and 'Noesis.dll': PrerequisiteItems, CommandArguments are different"
I think this is because the Editor is always built as Development and so when building a Shipping version of the game, it builds a Development version of the tools and both versions map Noesis.dll to the same path.
Any ideas on how to do this properly?