diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libIrrXML.a b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libIrrXML.a new file mode 100644 index 000000000..92c1baf0b --- /dev/null +++ b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libIrrXML.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb25101716011a5b4c872c5cd303c3292a61e5f661e9296d95502b5705e2e53 +size 181458 diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.a b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.a new file mode 100644 index 000000000..4dccc7f4b --- /dev/null +++ b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cbd73a154e270cc03d3da292b2c3cc73ee473b221f43722d060dc114916d6d5 +size 7996212 diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so deleted file mode 100755 index 08aa3b9a2..000000000 --- a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b35cfdc2b6aa4cbdf0a2aad81d5027736f9e92b1d708e3d358c31c03e679b2d1 -size 11877400 diff --git a/Source/ThirdParty/assimp/assimp.Build.cs b/Source/ThirdParty/assimp/assimp.Build.cs index 1ae3004f1..dd6da9d7c 100644 --- a/Source/ThirdParty/assimp/assimp.Build.cs +++ b/Source/ThirdParty/assimp/assimp.Build.cs @@ -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); } diff --git a/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs b/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs index abb8b47f0..1c671f4b4 100644 --- a/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs +++ b/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs @@ -39,6 +39,46 @@ namespace Flax.Deps.Dependencies { var root = options.IntermediateFolder; var moduleFilename = "assimp.Build.cs"; + var configs = new string[] + { + "-DASSIMP_NO_EXPORT=ON", + "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF", + "-DASSIMP_BUILD_TESTS=OFF", + "-DASSIMP_BUILD_AMF_IMPORTER=FALSE", + "-DASSIMP_BUILD_AC_IMPORTER=FALSE", + "-DASSIMP_BUILD_ASE_IMPORTER=FALSE", + "-DASSIMP_BUILD_ASSBIN_IMPORTER=FALSE", + "-DASSIMP_BUILD_ASSXML_IMPORTER=FALSE", + "-DASSIMP_BUILD_DXF_IMPORTER=FALSE", + "-DASSIMP_BUILD_CSM_IMPORTER=FALSE", + "-DASSIMP_BUILD_HMP_IMPORTER=FALSE", + "-DASSIMP_BUILD_NFF_IMPORTER=FALSE", + "-DASSIMP_BUILD_NDO_IMPORTER=FALSE", + "-DASSIMP_BUILD_IFC_IMPORTER=FALSE", + "-DASSIMP_BUILD_FBX_IMPORTER=FALSE", + "-DASSIMP_BUILD_RAW_IMPORTER=FALSE", + "-DASSIMP_BUILD_TERRAGEN_IMPORTER=FALSE", + "-DASSIMP_BUILD_3MF_IMPORTER=FALSE", + "-DASSIMP_BUILD_STEP_IMPORTER=FALSE", + "-DASSIMP_BUILD_3DS_IMPORTER=FALSE", + "-DASSIMP_BUILD_BVH_IMPORTER=FALSE", + "-DASSIMP_BUILD_IRRMESH_IMPORTER=FALSE", + "-DASSIMP_BUILD_IRR_IMPORTER=FALSE", + "-DASSIMP_BUILD_MD2_IMPORTER=FALSE", + "-DASSIMP_BUILD_MD3_IMPORTER=FALSE", + "-DASSIMP_BUILD_MD5_IMPORTER=FALSE", + "-DASSIMP_BUILD_MDC_IMPORTER=FALSE", + "-DASSIMP_BUILD_MDL_IMPORTER=FALSE", + "-DASSIMP_BUILD_OFF_IMPORTER=FALSE", + "-DASSIMP_BUILD_COB_IMPORTER=FALSE", + "-DASSIMP_BUILD_Q3D_IMPORTER=FALSE", + "-DASSIMP_BUILD_Q3BSP_IMPORTER=FALSE", + "-DASSIMP_BUILD_SIB_IMPORTER=FALSE", + "-DASSIMP_BUILD_SMD_IMPORTER=FALSE", + "-DASSIMP_BUILD_X3D_IMPORTER=FALSE", + "-DASSIMP_BUILD_MMD_IMPORTER=FALSE", + }; + var globalConfig = string.Join(" ", configs); // Get the source CloneGitRepo(root, "https://github.com/FlaxEngine/assimp.git"); @@ -73,13 +113,11 @@ namespace Flax.Deps.Dependencies case TargetPlatform.Linux: { // Build for Linux - 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"); + RunCmake(root, TargetPlatform.Linux, TargetArchitecture.x64, " -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF " + globalConfig); Utilities.Run("make", null, null, root, Utilities.RunOptions.None); var depsFolder = GetThirdPartyFolder(options, TargetPlatform.Linux, TargetArchitecture.x64); - 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); + Utilities.FileCopy(Path.Combine(root, "lib", "libassimp.a"), Path.Combine(depsFolder, "libassimp.a")); + Utilities.FileCopy(Path.Combine(root, "lib", "libIrrXML.a"), Path.Combine(depsFolder, "libIrrXML.a")); break; } }