Add support for dotnet7 on macOS
This commit is contained in:
@@ -10,8 +10,7 @@ if [ $testfilesize -le 1000 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Compile the build tool.
|
# Compile the build tool.
|
||||||
xbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build
|
dotnet msbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /target:Restore,Build /property:RestorePackagesConfig=True /p:RuntimeIdentifiers=osx-x64
|
||||||
|
|
||||||
# Run the build tool using the provided arguments.
|
# Run the build tool using the provided arguments.
|
||||||
#mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Binaries/Tools/Flax.Build.exe "$@"
|
Binaries/Tools/Flax.Build "$@"
|
||||||
mono Binaries/Tools/Flax.Build.exe "$@"
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# Copyright (c) 2012-2023 Wojciech Figat. All rights reserved
|
# Copyright (c) 2012-2023 Wojciech Figat. All rights reserved
|
||||||
|
|
||||||
# Fix mono bin to be in a path
|
# Fix mono bin to be in a path
|
||||||
export PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH
|
#export PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH
|
||||||
|
|
||||||
echo "Running Flax.Build $*"
|
echo "Running Flax.Build $*"
|
||||||
mono Binaries/Tools/Flax.Build.exe "$@"
|
Binaries/Tools/Flax.Build "$@"
|
||||||
|
|||||||
@@ -42,7 +42,12 @@ bool CoreCLR::InitHostfxr(const String& configPath, const String& libraryPath)
|
|||||||
get_hostfxr_parameters get_hostfxr_params;
|
get_hostfxr_parameters get_hostfxr_params;
|
||||||
get_hostfxr_params.size = sizeof(hostfxr_initialize_parameters);
|
get_hostfxr_params.size = sizeof(hostfxr_initialize_parameters);
|
||||||
get_hostfxr_params.assembly_path = library_path.Get();
|
get_hostfxr_params.assembly_path = library_path.Get();
|
||||||
get_hostfxr_params.dotnet_root = nullptr;//dotnetRoot.Get();
|
// TODO: implement proper lookup for dotnet instalation folder and handle standalone build of FlaxGame
|
||||||
|
#if PLATFORM_MAC
|
||||||
|
get_hostfxr_params.dotnet_root = "/usr/local/share/dotnet";
|
||||||
|
#else
|
||||||
|
get_hostfxr_params.dotnet_root = nullptr;
|
||||||
|
#endif
|
||||||
char_t hostfxrPath[1024];
|
char_t hostfxrPath[1024];
|
||||||
size_t hostfxrPathSize = sizeof(hostfxrPath) / sizeof(char_t);
|
size_t hostfxrPathSize = sizeof(hostfxrPath) / sizeof(char_t);
|
||||||
int rc = get_hostfxr_path(hostfxrPath, &hostfxrPathSize, &get_hostfxr_params);
|
int rc = get_hostfxr_path(hostfxrPath, &hostfxrPathSize, &get_hostfxr_params);
|
||||||
|
|||||||
@@ -210,12 +210,27 @@ namespace Flax.Build
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TargetPlatform.Mac:
|
case TargetPlatform.Mac:
|
||||||
monoRoot = Path.Combine(Globals.EngineRoot, "Source", "Platforms", "Editor", "Mac", "Mono");
|
{
|
||||||
monoPath = Path.Combine(monoRoot, "bin", "mono");
|
#if USE_NETCORE
|
||||||
cscPath = Path.Combine(monoRoot, "lib", "mono", "4.5", "csc.exe");
|
var dotnetSdk = DotNetSdk.Instance;
|
||||||
referenceAssemblies = Path.Combine(monoRoot, "lib", "mono", "4.5-api");
|
if (dotnetSdk.IsValid)
|
||||||
referenceAnalyzers = "";
|
{
|
||||||
|
// Use dotnet
|
||||||
|
cscPath = @$"{dotnetSdk.RootPath}sdk/{dotnetSdk.VersionName}/Roslyn/bincore/csc.dll";
|
||||||
|
referenceAssemblies = @$"{dotnetSdk.RootPath}shared/Microsoft.NETCore.App/{dotnetSdk.RuntimeVersionName}/";
|
||||||
|
referenceAnalyzers = @$"{dotnetSdk.RootPath}packs/Microsoft.NETCore.App.Ref/{dotnetSdk.RuntimeVersionName}/analyzers/dotnet/cs/";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
monoRoot = Path.Combine(Globals.EngineRoot, "Source", "Platforms", "Editor", "Mac", "Mono");
|
||||||
|
monoPath = Path.Combine(monoRoot, "bin", "mono");
|
||||||
|
cscPath = Path.Combine(monoRoot, "lib", "mono", "4.5", "csc.exe");
|
||||||
|
referenceAssemblies = Path.Combine(monoRoot, "lib", "mono", "4.5-api");
|
||||||
|
referenceAnalyzers = "";
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default: throw new InvalidPlatformException(buildPlatform);
|
default: throw new InvalidPlatformException(buildPlatform);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user