Mac impl progress

This commit is contained in:
Wojtek Figat
2021-12-28 18:45:40 +01:00
parent a1ef7ddcf7
commit 378ddc66c7
12 changed files with 111 additions and 326 deletions

View File

@@ -14,6 +14,8 @@ namespace Flax.Build.Platforms
/// <seealso cref="Toolchain" />
public sealed class MacToolchain : Toolchain
{
private string MinMacOSXVer = "10.14";
public string ToolchainPath;
public string SdkPath;
public string ClangPath;
@@ -118,12 +120,16 @@ namespace Flax.Build.Platforms
commonArgs.Add("c++");
commonArgs.Add("-std=c++14");
commonArgs.Add("-stdlib=libc++");
commonArgs.Add("-mmacosx-version-min=" + MinMacOSXVer);
commonArgs.Add("-Wdelete-non-virtual-dtor");
commonArgs.Add("-fno-math-errno");
commonArgs.Add("-fasm-blocks");
commonArgs.Add("-fdiagnostics-format=msvc");
commonArgs.Add("-Wno-absolute-value");
commonArgs.Add("-Wno-nullability-completeness");
// Hide all symbols by default
commonArgs.Add("-fvisibility-inlines-hidden");
commonArgs.Add("-fvisibility-ms-compat");
@@ -218,14 +224,12 @@ namespace Flax.Build.Platforms
{
var linkEnvironment = options.LinkEnv;
var task = graph.Add<LinkTask>();
Console.WriteLine("Linking " + outputFilePath + " as " + linkEnvironment.Output);
foreach (var f in linkEnvironment.InputFiles)
Console.WriteLine(f);
// Setup arguments
var args = new List<string>();
{
args.Add(string.Format("-o \"{0}\"", outputFilePath));
args.Add("-mmacosx-version-min=" + MinMacOSXVer);
if (!options.LinkEnv.DebugInformation)
args.Add("-Wl,--strip-debug");
@@ -233,7 +237,9 @@ namespace Flax.Build.Platforms
switch (linkEnvironment.Output)
{
case LinkerOutput.Executable:
break;
case LinkerOutput.SharedLibrary:
args.Add("-dynamiclib");
break;
case LinkerOutput.StaticLibrary:
case LinkerOutput.ImportLibrary: