Use static linking for Assimp on Linux, strip it from unused symbols and formats support

This commit is contained in:
Wojtek Figat
2021-03-26 21:30:30 +01:00
parent 7cf464aabb
commit c191815b82
5 changed files with 51 additions and 17 deletions

View File

@@ -35,15 +35,8 @@ public class assimp : DepsModule
options.DelayLoadLibraries.Add("assimp-vc140-md.dll");
break;
case TargetPlatform.Linux:
options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so"));
options.Libraries.Add(Path.Combine(depsRoot, "libassimp.so"));
if (Flax.Build.Platform.BuildTargetPlatform == TargetPlatform.Linux)
{
// Linux uses link files for shared libs versions linkage and we don't add those as they break git repo on Windows (invalid changes to stage)
Flax.Build.Utilities.Run("ln", "-s libassimp.so libassimp.so.4", null, depsRoot, Flax.Build.Utilities.RunOptions.None);
Flax.Build.Utilities.Run("ln", "-s libassimp.so libassimp.so.4.1", null, depsRoot, Flax.Build.Utilities.RunOptions.None);
Flax.Build.Utilities.Run("ln", "-s libassimp.so libassimp.so.4.1.0", null, depsRoot, Flax.Build.Utilities.RunOptions.None);
}
options.OutputFiles.Add(Path.Combine(depsRoot, "libassimp.a"));
options.OutputFiles.Add(Path.Combine(depsRoot, "libIrrXML.a"));
break;
default: throw new InvalidPlatformException(options.Platform.Target);
}