Fix rpath on Linux to handle plugins libraries loading in Editor

#1941
This commit is contained in:
Wojtek Figat
2024-03-04 14:23:17 +01:00
parent 508c07c5ea
commit 2175f46a10

View File

@@ -99,6 +99,18 @@ namespace Flax.Build.Platforms
//args.Add(string.Format("-Wl,-soname=\"{0}\"", soname));
}
// Include any external folders into rpath for proper dlopen (eg. when opening Editor project with plugins)
if (options.LinkEnv.Output == LinkerOutput.SharedLibrary || options.LinkEnv.Output == LinkerOutput.Executable)
{
var originDir = Path.GetDirectoryName(outputFilePath);
foreach (var lib in options.LinkEnv.InputLibraries)
{
var libDir = Path.GetDirectoryName(lib);
if (libDir != originDir)
args.Add($"-Wl,-rpath,\"{libDir}\"");
}
}
args.Add(string.Format("-target {0}", ArchitectureName));
args.Add(string.Format("--sysroot=\"{0}\"", ToolsetRoot.Replace('\\', '/')));