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; }
//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; }