diff --git a/Source/Platforms/Web/Binaries/ThirdParty/x86/libmsdfgen-core.a b/Source/Platforms/Web/Binaries/ThirdParty/x86/libmsdfgen-core.a
new file mode 100644
index 000000000..68dce2ab6
--- /dev/null
+++ b/Source/Platforms/Web/Binaries/ThirdParty/x86/libmsdfgen-core.a
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c9e42e6c78f2f5ec2deaa9bb4aed66e2017f6e0a94d21cdebad88602ed8c8501
+size 306234
diff --git a/Source/ThirdParty/msdfgen/msdfgen.Build.cs b/Source/ThirdParty/msdfgen/msdfgen.Build.cs
index c5f008ac9..cf9a4813d 100644
--- a/Source/ThirdParty/msdfgen/msdfgen.Build.cs
+++ b/Source/ThirdParty/msdfgen/msdfgen.Build.cs
@@ -7,7 +7,7 @@ using Flax.Build.NativeCpp;
///
/// https://github.com/Chlumsky/msdfgen
///
-public class msdfgen : DepsModule
+public class msdfgen : EngineDepsModule
{
///
public override void Init()
@@ -16,9 +16,6 @@ public class msdfgen : DepsModule
LicenseType = LicenseTypes.MIT;
LicenseFilePath = "LICENSE.txt";
-
- // Merge third-party modules into engine binary
- BinaryModuleName = "FlaxEngine";
}
///
@@ -30,12 +27,18 @@ public class msdfgen : DepsModule
switch (options.Platform.Target)
{
case TargetPlatform.Windows:
+ case TargetPlatform.XboxOne:
+ case TargetPlatform.XboxScarlett:
options.OutputFiles.Add(Path.Combine(depsRoot, "msdfgen-core.lib"));
break;
case TargetPlatform.Linux:
case TargetPlatform.Mac:
case TargetPlatform.iOS:
case TargetPlatform.Android:
+ case TargetPlatform.Switch:
+ case TargetPlatform.PS4:
+ case TargetPlatform.PS5:
+ case TargetPlatform.Web:
options.OutputFiles.Add(Path.Combine(depsRoot, "libmsdfgen-core.a"));
break;
default: throw new InvalidPlatformException(options.Platform.Target);
diff --git a/Source/Tools/Flax.Build/Deps/Dependencies/msdfgen.cs b/Source/Tools/Flax.Build/Deps/Dependencies/msdfgen.cs
index 45322f815..026293eb4 100644
--- a/Source/Tools/Flax.Build/Deps/Dependencies/msdfgen.cs
+++ b/Source/Tools/Flax.Build/Deps/Dependencies/msdfgen.cs
@@ -24,6 +24,12 @@ namespace Flax.Deps.Dependencies
{
TargetPlatform.Windows,
TargetPlatform.Android,
+ TargetPlatform.XboxOne,
+ TargetPlatform.XboxScarlett,
+ TargetPlatform.Switch,
+ TargetPlatform.PS4,
+ TargetPlatform.PS5,
+ TargetPlatform.Web,
};
case TargetPlatform.Linux:
return new[]
@@ -51,6 +57,7 @@ namespace Flax.Deps.Dependencies
case TargetPlatform.Windows:
return new[]
{
+ TargetArchitecture.x86,
TargetArchitecture.x64,
TargetArchitecture.ARM64,
};
@@ -83,12 +90,17 @@ namespace Flax.Deps.Dependencies
};
var args = new string[]
{
+ "-DMSDFGEN_BUILD_STANDALONE=OFF",
"-DMSDFGEN_USE_VCPKG=OFF",
"-DMSDFGEN_CORE_ONLY=ON",
"-DMSDFGEN_DYNAMIC_RUNTIME=ON",
"-DMSDFGEN_USE_SKIA=OFF",
+ "-DMSDFGEN_INSTALL=ON",
+ "-DMSDFGEN_USE_SKIA=OFF",
+ "-DMSDFGEN_DISABLE_SVG=ON",
+ "-DMSDFGEN_DISABLE_PNG=ON",
+ "-DMSDFGEN_DYNAMIC_RUNTIME=ON",
"-DBUILD_SHARED_LIBS=OFF",
- "-DMSDFGEN_INSTALL=ON"
};
// Get the source
@@ -130,7 +142,7 @@ namespace Flax.Deps.Dependencies
break;
}
- RunCmake(root, platform, architecture, $"-B\"{buildDir}\" " + cmakeArgs, envVars);
+ RunCmake(root, platform, architecture, $"-B\"{buildDir}\" -Wno-dev " + cmakeArgs, envVars);
BuildCmake(buildDir);
Utilities.Run("cmake", $"--install {buildDir} --prefix {installDir} --config {configuration}", null, root, Utilities.RunOptions.DefaultTool);
Utilities.FileCopy(Path.Combine(installDir, "lib", libName), Path.Combine(depsFolder, libName));
diff --git a/Source/Tools/Flax.Build/Deps/Dependency.cs b/Source/Tools/Flax.Build/Deps/Dependency.cs
index dc799702d..11e719ea1 100644
--- a/Source/Tools/Flax.Build/Deps/Dependency.cs
+++ b/Source/Tools/Flax.Build/Deps/Dependency.cs
@@ -519,10 +519,16 @@ namespace Flax.Deps
break;
}
case TargetPlatform.PS4:
- cmdLine = "CMakeLists.txt -DCMAKE_GENERATOR_PLATFORM=ORBIS -G \"Visual Studio 15 2017\"";
+ if (VisualStudioInstance.HasIDE(VisualStudioVersion.VisualStudio2017))
+ cmdLine = "CMakeLists.txt -DCMAKE_GENERATOR_PLATFORM=ORBIS -G \"Visual Studio 15 2017\"";
+ else
+ cmdLine = string.Format("CMakeLists.txt -G \"Ninja\" -DCMAKE_TOOLCHAIN_FILE=\"{0}/Source/Platforms/PS4/Binaries/Data/nethost/src/ps4/PS4Toolchain.txt\"", Globals.EngineRoot);
break;
case TargetPlatform.PS5:
- cmdLine = "CMakeLists.txt -DCMAKE_GENERATOR_PLATFORM=PROSPERO -G \"Visual Studio 16 2019\"";
+ if (VisualStudioInstance.HasIDE(VisualStudioVersion.VisualStudio2019))
+ cmdLine = "CMakeLists.txt -DCMAKE_GENERATOR_PLATFORM=PROSPERO -G \"Visual Studio 16 2019\"";
+ else
+ cmdLine = string.Format("CMakeLists.txt -G \"Ninja\" -DCMAKE_TOOLCHAIN_FILE=\"{0}/Source/Platforms/PS5/Binaries/Data/nethost/src/ps5/PS5Toolchain.txt\"", Globals.EngineRoot);
break;
case TargetPlatform.Linux:
cmdLine = "CMakeLists.txt";