Fix link files usage to prevent issues with git changes status

This commit is contained in:
Wojtek Figat
2021-03-12 09:30:31 +01:00
parent 544a043c56
commit c18e5f522a
11 changed files with 24 additions and 13 deletions

View File

@@ -508,8 +508,9 @@ bool MCore::LoadEngine()
Thread::ThreadExiting.Bind<OnThreadExiting>();
// Info
const String buildInfo(mono_get_runtime_build_info());
LOG(Info, "Mono version: {0}", buildInfo);
char* buildInfo = mono_get_runtime_build_info();
LOG(Info, "Mono version: {0}", String(buildInfo));
mono_free(buildInfo);
return false;
}

View File

@@ -1 +0,0 @@
libassimp.so.4.1.0

View File

@@ -1 +0,0 @@
libassimp.so.4.1.0

View File

@@ -1 +0,0 @@
libmonosgen-2.0.so.1.0.0

View File

@@ -1 +0,0 @@
libmonosgen-2.0.so.1.0.0

View File

@@ -36,8 +36,6 @@ public class assimp : DepsModule
break;
case TargetPlatform.Linux:
options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so"));
options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so.4"));
options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so.4.1.0"));
options.Libraries.Add(Path.Combine(depsRoot, "libassimp.so"));
break;
default: throw new InvalidPlatformException(options.Platform.Target);

View File

@@ -73,8 +73,6 @@ public class mono : DepsModule
case TargetPlatform.Linux:
options.PublicDefinitions.Add("USE_MONO_DYNAMIC_LIB");
options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so"));
options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so.1"));
options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so.1.0.0"));
options.Libraries.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so"));
break;
case TargetPlatform.PS4:

View File

@@ -99,6 +99,23 @@ namespace Flax.Build
// Restore state from PreBuild
Modules.Add("Main");
}
// Mono on Linux is using dynamic linking and needs additional link files
if (buildOptions.Platform.Target == TargetPlatform.Linux)
{
var task = graph.Add<Task>();
task.PrerequisiteFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so"));
task.ProducedFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so.1"));
task.WorkingDirectory = buildOptions.OutputFolder;
task.CommandPath = "ln";
task.CommandArguments = "-s -f libmonosgen-2.0.so libmonosgen-2.0.so.1";
task = graph.Add<Task>();
task.PrerequisiteFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so"));
task.ProducedFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so.1.0.0"));
task.WorkingDirectory = buildOptions.OutputFolder;
task.CommandPath = "ln";
task.CommandArguments = "-s -f libmonosgen-2.0.so libmonosgen-2.0.so.1.0.0";
}
}
private void BuildMainExecutable(TaskGraph graph, BuildOptions buildOptions)

View File

@@ -76,9 +76,10 @@ namespace Flax.Deps.Dependencies
RunCmake(root, TargetPlatform.Linux, TargetArchitecture.x64, " -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DASSIMP_NO_EXPORT=ON -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF");
Utilities.Run("make", null, null, root, Utilities.RunOptions.None);
var depsFolder = GetThirdPartyFolder(options, TargetPlatform.Linux, TargetArchitecture.x64);
var libName = "libassimp.so.4.1.0";
Utilities.FileCopy(Path.Combine(root, "lib", libName), Path.Combine(depsFolder, libName));
Utilities.Run("strip", libName, null, depsFolder, Utilities.RunOptions.None);
var srcName = "libassimp.so.4.1.0";
var dstName = "libassimp.so";
Utilities.FileCopy(Path.Combine(root, "lib", srcName), Path.Combine(depsFolder, dstName));
Utilities.Run("strip", dstName, null, depsFolder, Utilities.RunOptions.None);
break;
}
}