public DotsRuntimeCSharpProgramConfiguration(CSharpCodeGen csharpCodegen, CodeGen cppCodegen,
                                              //The stevedore global manifest will override DownloadableCsc.Csc72 artifacts and use Csc73
                                              ToolChain nativeToolchain, ScriptingBackend scriptingBackend, string identifier, bool enableUnityCollectionsChecks, NativeProgramFormat executableFormat = null) : base(csharpCodegen, DownloadableCsc.Csc72, HostPlatform.IsWindows ? (DebugFormat)DebugFormat.Pdb : DebugFormat.PortablePdb, nativeToolchain.Architecture is x86Architecture ? nativeToolchain.Architecture : null)
 {
     NativeProgramConfiguration = new DotsRuntimeNativeProgramConfiguration(cppCodegen, nativeToolchain, identifier, this, executableFormat: executableFormat);
     Identifier = identifier;
     EnableUnityCollectionsChecks = enableUnityCollectionsChecks;
     ScriptingBackend             = scriptingBackend;
 }
Beispiel #2
0
    //Run ./bee build-lib-webp to compile the webp library located in Unity.Tiny.Image2D.Native.cpp~/libwebp and copy it to Unity.Tiny.Image2D.Authoring/libwebp
    public override void Customize()
    {
        var           asmdefRoot      = AsmDefConfigFile.AsmDefDescriptionFor("Unity.Tiny.Image2D.Native").Directory;
        var           outputDirectory = AsmDefConfigFile.AsmDefDescriptionFor("Unity.Tiny.Image2D.Authoring").Directory;
        NativeProgram WebPLib         = new NativeProgram("libwebp")
        {
            Sources =
            {
                asmdefRoot.Combine("cpp~/libwebp"),
            },
            IncludeDirectories = { asmdefRoot.Combine("cpp~/libwebp") },
            OutputDirectory    = { outputDirectory.Combine("libwebp") }
        };

        DotsRuntimeNativeProgramConfiguration config = DotsConfigs.HostDotnet.NativeProgramConfiguration;
        var builtWebPLib = WebPLib.SetupSpecificConfiguration(config, config.ToolChain.DynamicLibraryFormat);

        Backend.Current.AddAliasDependency("build-lib-webp", builtWebPLib.Path);
    }
 public DotsRuntimeCSharpProgramConfiguration(
     CSharpCodeGen csharpCodegen,
     CodeGen cppCodegen,
     ToolChain nativeToolchain,
     ScriptingBackend scriptingBackend,
     TargetFramework targetFramework,
     string identifier,
     bool enableUnityCollectionsChecks,
     bool enableManagedDebugging,
     bool waitForManagedDebugger,
     bool multiThreadedJobs,
     DotsConfiguration dotsConfiguration,
     bool enableProfiler,
     bool useBurst,
     IEnumerable <string> defines = null,
     NPath finalOutputDirectory   = null)
     : base(
         csharpCodegen,
         null,
         DebugFormat.PortablePdb,
         nativeToolchain.Architecture is IntelArchitecture ? nativeToolchain.Architecture : null)
 {
     NativeProgramConfiguration = new DotsRuntimeNativeProgramConfiguration(
         cppCodegen,
         nativeToolchain,
         identifier,
         this);
     _identifier = identifier;
     EnableUnityCollectionsChecks = enableUnityCollectionsChecks;
     DotsConfiguration            = dotsConfiguration;
     MultiThreadedJobs            = multiThreadedJobs;
     EnableProfiler         = enableProfiler;
     UseBurst               = useBurst;
     EnableManagedDebugging = enableManagedDebugging;
     WaitForManagedDebugger = waitForManagedDebugger;
     ScriptingBackend       = scriptingBackend;
     TargetFramework        = targetFramework;
     Defines = defines?.ToList();
     FinalOutputDirectory = finalOutputDirectory;
 }