native/nanoserver/build.cake (32 lines of code) (raw):

DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); #load "../../scripts/cake/shared.cake" Task("libSkiaSharp") .WithCriteria(IsRunningOnWindows()) .Does(() => { RunCake("../windows/build.cake", "libSkiaSharp", new Dictionary<string, string> { { "variant", "nanoserver" }, { "gnArgs", "extra_cflags+=[ '-DSK_BUILD_FOR_NANOSERVER' ]" }, { "arch", "x64" }, }); DotNetTool("nano-api-scan " + OUTPUT_PATH.CombineWithFilePath("nanoserver/x64/libSkiaSharp.dll").FullPath); }); Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnWindows()) .Does(() => { RunCake("../windows/build.cake", "libHarfBuzzSharp", new Dictionary<string, string> { { "arch", "x64" }, }); var outDir = OUTPUT_PATH.Combine($"nanoserver/x64"); EnsureDirectoryExists(outDir); var srcDir = OUTPUT_PATH.Combine($"windows/x64"); CopyFileToDirectory(srcDir.CombineWithFilePath("libHarfBuzzSharp.dll"), outDir); CopyFileToDirectory(srcDir.CombineWithFilePath("libHarfBuzzSharp.pdb"), outDir); DotNetTool("nano-api-scan " + OUTPUT_PATH.CombineWithFilePath("nanoserver/x64/libHarfBuzzSharp.dll").FullPath); }); Task("Default") .IsDependentOn("libSkiaSharp") .IsDependentOn("libHarfBuzzSharp"); RunTarget(TARGET);