source/SkiaSharp.Build.props (192 lines of code) (raw):

<Project> <!-- Warning codes: - part of the source build: <none> - part of SkiaSharp: SK00xx - part of SkiaSharp.Views: SK0x0x - part of SkiaSharp.Views.Forms: SKx00x --> <Import Project="SkiaSharp.Build.Override.props" Condition="Exists('SkiaSharp.Build.Override.props')" /> <PropertyGroup> <IsWindows>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))</IsWindows> <IsMacOS>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))</IsMacOS> <IsLinux>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))</IsLinux> <IsCI Condition="'$(IsCI)' == '' and ('$(CI)' == 'true' or '$(TF_BUILD)' == 'true')">true</IsCI> <IsCI Condition="'$(IsCI)' == ''">false</IsCI> <IsNetTizenSupported Condition="'$(IsNetTizenSupported)' == ''">true</IsNetTizenSupported> <IsNetTVOSSupported Condition="'$(IsNetTVOSSupported)' == ''">true</IsNetTVOSSupported> <IsNetMacOSSupported Condition="'$(IsNetMacOSSupported)' == ''">true</IsNetMacOSSupported> </PropertyGroup> <PropertyGroup> <AssemblyVersionGitSha Condition=" '$(AssemblyVersionGitSha)' == '' ">$(GIT_SHA)</AssemblyVersionGitSha> <AssemblyVersionGitSha Condition=" '$(AssemblyVersionGitSha)' == '' ">$(GIT_COMMIT)</AssemblyVersionGitSha> <AssemblyVersionGitBranch Condition=" '$(AssemblyVersionGitBranch)' == '' ">$(GIT_BRANCH_NAME)</AssemblyVersionGitBranch> </PropertyGroup> <PropertyGroup> <SignAssembly>true</SignAssembly> <LangVersion>latest</LangVersion> </PropertyGroup> <PropertyGroup> <SkiaSharpBuildPropsImported>true</SkiaSharpBuildPropsImported> <MDocDocumentationDirectory>$(MSBuildThisFileDirectory)..\docs\SkiaSharpAPI</MDocDocumentationDirectory> </PropertyGroup> <PropertyGroup> <DotNetSdkManifestVersionRegex>\d+\.\d+\.\d+(-[a-z]+\.\d+)?</DotNetSdkManifestVersionRegex> <DotNetSdkManifestVersion Condition="'$(MSBuildRuntimeType)' == 'Core'">$([System.Text.RegularExpressions.Regex]::Match('$(MSBuildExtensionsPath)', '$(DotNetSdkManifestVersionRegex)'))</DotNetSdkManifestVersion> <DotNetSdkManifestVersion Condition="'$(MSBuildRuntimeType)' != 'Core'"></DotNetSdkManifestVersion> <!-- The previous/lowest version of .NET we want to support (just the base TFM/no platforms) --> <TFMPrevious>net6.0</TFMPrevious> <!-- The current version of .NET that we are shipping for (all the TFMs) --> <TFMCurrent>net8.0</TFMCurrent> <!-- The next version (typically a preview) that we are building for (all the TFMs) --> <TFMNext></TFMNext> <!-- The Windows OS version we are building against --> <TFMWindowsVersion>10.0.19041.0</TFMWindowsVersion> </PropertyGroup> <!-- Try determine which .NET workloads are installed for LOCAL builds --> <PropertyGroup Condition="!$(IsCI) and '$(BuildEverything)' != 'true'"> <DotNetWorkloadSearchManifest>microsoft.net.sdk.macos\WorkloadManifest.json</DotNetWorkloadSearchManifest> <!-- DOTNET_INSTALL_DIR --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('$(DOTNET_INSTALL_DIR)\sdk-manifests\$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> <!-- DOTNET_ROOT --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('$(DOTNET_ROOT)\sdk-manifests\$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> <!-- ProgramFiles\dotnet --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('$(ProgramFiles)\dotnet\sdk-manifests\$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> <!-- /usr/local/share/dotnet --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('/usr/local/share/dotnet/sdk-manifests/$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> <!-- LocalAppData\Microsoft\dotnet --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('$(LocalAppData)\Microsoft\dotnet\sdk-manifests\$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> <!-- HOME\.dotnet --> <DotNetWorkloadSearchPath Condition="'$(DotNetWorkloadInstallLocation)' == ''">$([MSBuild]::NormalizeDirectory('$(HOME)/.dotnet/sdk-manifests/$(DotNetSdkManifestVersion)'))</DotNetWorkloadSearchPath> <DotNetWorkloadInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' == '' and Exists($([MSBuild]::NormalizePath('$(DotNetWorkloadSearchPath)', '$(DotNetWorkloadSearchManifest)')))">$(DotNetWorkloadSearchPath)</DotNetWorkloadInstallLocation> </PropertyGroup> <PropertyGroup Condition="!$(IsCI) and '$(BuildEverything)' != 'true'"> <DotNetWorkloadVersionRegex>\d+\.\d+\.\d+(-[a-z]+[\.\d+]+)*</DotNetWorkloadVersionRegex> <DotNetWorkloadPacksInstallLocation Condition="'$(DotNetWorkloadInstallLocation)' != ''">$(DotNetWorkloadInstallLocation)..\..\packs\</DotNetWorkloadPacksInstallLocation> <DotNetAndroidWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)microsoft.net.sdk.android\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\microsoft.net.sdk.android\WorkloadManifest.json')), $(DotNetWorkloadVersionRegex)))</DotNetAndroidWorkloadInstalledVersion> <DotNetIOSWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)microsoft.net.sdk.ios\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\microsoft.net.sdk.ios\WorkloadManifest.json')), $(DotNetWorkloadVersionRegex)))</DotNetIOSWorkloadInstalledVersion> <DotNetMauiWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)microsoft.net.sdk.maui\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\microsoft.net.sdk.maui\WorkloadManifest.json')), $(DotNetWorkloadVersionRegex)))</DotNetMauiWorkloadInstalledVersion> <DotNetTizenWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)samsung.net.sdk.tizen\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\samsung.net.sdk.tizen\WorkloadManifest.json')), $(DotNetWorkloadVersionRegex)))</DotNetTizenWorkloadInstalledVersion> <DotNetTVOSWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)microsoft.net.sdk.tvos\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\microsoft.net.sdk.tvos\WorkloadManifest.json')), '$(DotNetWorkloadVersionRegex)'))</DotNetTVOSWorkloadInstalledVersion> <DotNetMacOSWorkloadInstalledVersion Condition="Exists('$(DotNetWorkloadInstallLocation)microsoft.net.sdk.macos\WorkloadManifest.json')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(DotNetWorkloadInstallLocation)\microsoft.net.sdk.macos\WorkloadManifest.json')), '$(DotNetWorkloadVersionRegex)'))</DotNetMacOSWorkloadInstalledVersion> <DotNetTizenWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Samsung.Tizen.Sdk\$(DotNetTizenWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetTizenWorkloadIsInstalled> <DotNetTVOSWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.tvOS.Sdk\$(DotNetTVOSWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetTVOSWorkloadIsInstalled> <DotNetMacOSWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.macOS.Sdk\$(DotNetMacOSWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetMacOSWorkloadIsInstalled> <DotNetAndroidWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.Android.Sdk.Windows\$(DotNetAndroidWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetAndroidWorkloadIsInstalled> <DotNetAndroidWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.Android.Sdk.Darwin\$(DotNetAndroidWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetAndroidWorkloadIsInstalled> <DotNetAndroidWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.Android.Sdk.Linux\$(DotNetAndroidWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetAndroidWorkloadIsInstalled> <DotNetIOSWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.iOS.Sdk\$(DotNetIOSWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetIOSWorkloadIsInstalled> <DotNetMauiWorkloadIsInstalled Condition="Exists('$(DotNetWorkloadPacksInstallLocation)Microsoft.Maui.Sdk\$(DotNetMauiWorkloadInstalledVersion)\Sdk\AutoImport.props')">true</DotNetMauiWorkloadIsInstalled> <IsNetTizenSupported Condition="'$(DotNetTizenWorkloadIsInstalled)' != 'true'">false</IsNetTizenSupported> <IsNetTVOSSupported Condition="'$(DotNetTVOSWorkloadIsInstalled)' != 'true'">false</IsNetTVOSSupported> <IsNetMacOSSupported Condition="'$(DotNetMacOSWorkloadIsInstalled)' != 'true'">false</IsNetMacOSSupported> </PropertyGroup> <!-- .NET Standard, .NET Framework and .NET --> <PropertyGroup> <BasicTargetFrameworksCurrent>netstandard2.0;netstandard2.1;net462;$(TFMCurrent)</BasicTargetFrameworksCurrent> <PlatformTargetFrameworksCurrent Condition="!$(IsLinux)">$(TFMCurrent)-ios;$(TFMCurrent)-maccatalyst;$(TFMCurrent)-android</PlatformTargetFrameworksCurrent> <PlatformTargetFrameworksCurrent Condition="!$(IsLinux) and $(IsNetTizenSupported)">$(PlatformTargetFrameworksCurrent);$(TFMCurrent)-tizen</PlatformTargetFrameworksCurrent> <PlatformTargetFrameworksCurrent Condition="!$(IsLinux) and $(IsNetTVOSSupported)">$(PlatformTargetFrameworksCurrent);$(TFMCurrent)-tvos</PlatformTargetFrameworksCurrent> <PlatformTargetFrameworksCurrent Condition="!$(IsLinux) and $(IsNetMacOSSupported)">$(PlatformTargetFrameworksCurrent);$(TFMCurrent)-macos</PlatformTargetFrameworksCurrent> <PlatformTargetFrameworksCurrent Condition="$(IsWindows)">$(PlatformTargetFrameworksCurrent);$(TFMCurrent)-windows$(TFMWindowsVersion)</PlatformTargetFrameworksCurrent> </PropertyGroup> <PropertyGroup Condition="'$(TFMPrevious)' != ''"> <BasicTargetFrameworksPrevious>$(TFMPrevious)</BasicTargetFrameworksPrevious> </PropertyGroup> <PropertyGroup Condition="'$(TFMNext)' != ''"> <BasicTargetFrameworksNext>$(TFMNext)</BasicTargetFrameworksNext> <PlatformTargetFrameworksNext Condition="!$(IsLinux)">$(TFMNext)-ios;$(TFMNext)-maccatalyst;$(TFMNext)-android</PlatformTargetFrameworksNext> <PlatformTargetFrameworksNext Condition="!$(IsLinux) and $(IsNetTizenSupported)">$(PlatformTargetFrameworksNext);$(TFMNext)-tizen</PlatformTargetFrameworksNext> <PlatformTargetFrameworksNext Condition="!$(IsLinux) and $(IsNetTVOSSupported)">$(PlatformTargetFrameworksNext);$(TFMNext)-tvos</PlatformTargetFrameworksNext> <PlatformTargetFrameworksNext Condition="!$(IsLinux) and $(IsNetMacOSSupported)">$(PlatformTargetFrameworksNext);$(TFMNext)-macos</PlatformTargetFrameworksNext> <PlatformTargetFrameworksNext Condition="$(IsWindows)">$(PlatformTargetFrameworksNext);$(TFMNext)-windows$(TFMWindowsVersion)</PlatformTargetFrameworksNext> </PropertyGroup> <PropertyGroup> <BasicTargetFrameworks>$(BasicTargetFrameworksCurrent);$(BasicTargetFrameworksPrevious);$(BasicTargetFrameworksNext)</BasicTargetFrameworks> <PlatformTargetFrameworks>$(PlatformTargetFrameworksCurrent);$(PlatformTargetFrameworksPrevious);$(PlatformTargetFrameworksNext)</PlatformTargetFrameworks> <AllTargetFrameworks>$(BasicTargetFrameworks);$(PlatformTargetFrameworks)</AllTargetFrameworks> </PropertyGroup> <!-- Windows TFMs --> <PropertyGroup> <WindowsTargetFrameworksCurrent Condition="$(IsWindows)">$(TFMCurrent)-windows$(TFMWindowsVersion)</WindowsTargetFrameworksCurrent> <WindowsTargetFrameworksPrevious Condition="$(IsWindows) and '$(TFMPrevious)' != ''">$(TFMPrevious)-windows$(TFMWindowsVersion)</WindowsTargetFrameworksPrevious> <WindowsTargetFrameworksNext Condition="$(IsWindows) and '$(TFMNext)' != ''">$(TFMNext)-windows$(TFMWindowsVersion)</WindowsTargetFrameworksNext> <WindowsTargetFrameworks Condition="$(IsWindows)">$(WindowsTargetFrameworksCurrent);$(WindowsTargetFrameworksPrevious);$(WindowsTargetFrameworksNext)</WindowsTargetFrameworks> </PropertyGroup> <!-- Windows Desktop TFMs --> <PropertyGroup> <WindowsDesktopTargetFrameworks>net462</WindowsDesktopTargetFrameworks> <WindowsDesktopTargetFrameworks Condition="$(IsWindows)">$(WindowsDesktopTargetFrameworks);$(WindowsTargetFrameworks)</WindowsDesktopTargetFrameworks> </PropertyGroup> <!-- .NET MAUI --> <PropertyGroup> <MauiTargetFrameworksPlatformCurrent>$(TFMCurrent)-ios;$(TFMCurrent)-maccatalyst;$(TFMCurrent)-android</MauiTargetFrameworksPlatformCurrent> <MauiTargetFrameworksPlatformCurrent Condition="$(IsNetTizenSupported)">$(MauiTargetFrameworksPlatformCurrent);$(TFMCurrent)-tizen</MauiTargetFrameworksPlatformCurrent> <MauiTargetFrameworksPlatformCurrent Condition="$(IsWindows)">$(MauiTargetFrameworksPlatformCurrent);$(TFMCurrent)-windows$(TFMWindowsVersion)</MauiTargetFrameworksPlatformCurrent> <MauiTargetFrameworksCurrent>$(TFMCurrent);$(MauiTargetFrameworksPlatformCurrent)</MauiTargetFrameworksCurrent> </PropertyGroup> <PropertyGroup Condition="'$(TFMNext)' != ''"> <SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences> <MauiTargetFrameworksPlatformNext>$(TFMNext)-ios;$(TFMNext)-maccatalyst;$(TFMNext)-android</MauiTargetFrameworksPlatformNext> <MauiTargetFrameworksPlatformNext Condition="$(IsNetTizenSupported)">$(MauiTargetFrameworksPlatformNext);$(TFMNext)-tizen</MauiTargetFrameworksPlatformNext> <MauiTargetFrameworksPlatformNext Condition="$(IsWindows)">$(MauiTargetFrameworksPlatformNext);$(TFMNext)-windows$(TFMWindowsVersion)</MauiTargetFrameworksPlatformNext> <MauiTargetFrameworksNext>$(TFMNext);$(MauiTargetFrameworksPlatformNext)</MauiTargetFrameworksNext> </PropertyGroup> <PropertyGroup> <MauiTargetFrameworks>$(MauiTargetFrameworksCurrent);$(MauiTargetFrameworksNext)</MauiTargetFrameworks> </PropertyGroup> <!-- Uno Platform --> <PropertyGroup> <UnoTargetFrameworksReference>$(TFMCurrent)</UnoTargetFrameworksReference> <UnoTargetFrameworksReference Condition="'$(TFMNext)' != ''">$(UnoTargetFrameworksReference);$(TFMNext)</UnoTargetFrameworksReference> <UnoTargetFrameworksCurrent Condition="!$(IsLinux)">$(TFMCurrent)-ios;$(TFMCurrent)-maccatalyst;$(TFMCurrent)-android;$(TFMCurrent)-macos</UnoTargetFrameworksCurrent> <UnoTargetFrameworksNext Condition="!$(IsLinux) and '$(TFMNext)' != ''">$(TFMNext)-ios;$(TFMNext)-maccatalyst;$(TFMNext)-android;$(TFMNext)-macos</UnoTargetFrameworksNext> <UnoTargetFrameworks>$(UnoTargetFrameworksReference);$(UnoTargetFrameworksCurrent);$(UnoTargetFrameworksNext);$(WindowsTargetFrameworks)</UnoTargetFrameworks> </PropertyGroup> <PropertyGroup> <!-- Setup debug symbols --> <DebugType>portable</DebugType> <DebugSymbols>true</DebugSymbols> <!-- We have a lot of unsafe code --> <AllowUnsafeBlocks>True</AllowUnsafeBlocks> <!-- We don't use the build output so don't do extra work --> <ProduceReferenceAssembly>false</ProduceReferenceAssembly> </PropertyGroup> <PropertyGroup Condition=" '$(TF_BUILD)' == 'true' or '$(GITHUB_ACTIONS)' == 'true' or '$(CI)' == 'true' "> <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <DefineConstants>$(DefineConstants);THROW_OBJECT_EXCEPTIONS</DefineConstants> </PropertyGroup> <PropertyGroup Condition=" '$(TargetFramework)' == '$(TFMCurrent)' or ('$(TargetFramework)' == '$(TFMPrevious)' and '$(TFMPrevious)' != '') or ('$(TargetFramework)' == '$(TFMNext)' and '$(TFMNext)' != '') "> <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))"> <DependsOnNETStandard>true</DependsOnNETStandard> </PropertyGroup> <!-- HACK: WinUI seems to have issues without this --> <PropertyGroup> <GenerateLibraryLayout>true</GenerateLibraryLayout> <DisableEmbeddedXbf>false</DisableEmbeddedXbf> </PropertyGroup> <!-- platform version number information --> <PropertyGroup Condition="$(TargetFramework.Contains('-ios'))"> <SupportedOSPlatformVersion>10.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion>10.0</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-tvos'))"> <SupportedOSPlatformVersion>10.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion>10.0</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-maccatalyst'))"> <SupportedOSPlatformVersion>13.1</SupportedOSPlatformVersion> <TargetPlatformMinVersion>13.1</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-macos'))"> <SupportedOSPlatformVersion>10.14</SupportedOSPlatformVersion> <TargetPlatformMinVersion>10.14</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-android'))"> <SupportedOSPlatformVersion>21.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion>21.0</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-windows10'))"> <SupportedOSPlatformVersion>10.0.17763.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion> </PropertyGroup> <PropertyGroup Condition="$(TargetFramework.Contains('-tizen'))"> <SupportedOSPlatformVersion>6.5</SupportedOSPlatformVersion> <TargetPlatformMinVersion>6.5</TargetPlatformMinVersion> </PropertyGroup> <Target Name="PrintRID" BeforeTargets="BeforeBuild"> <Message Text="Operating System: Windows" Condition=" '$(IsWindows)' == 'true' " /> <Message Text="Operating System: macOS" Condition=" '$(IsMacOS)' == 'true' " /> <Message Text="Operating System: Linux" Condition=" '$(IsLinux)' == 'true' " /> <Message Text="Workload versions: Android ($(DotNetAndroidWorkloadInstalledVersion)), iOS ($(DotNetIOSWorkloadInstalledVersion)), macOS ($(DotNetMacOSWorkloadInstalledVersion)), tvOS ($(DotNetTVOSWorkloadInstalledVersion)), Tizen ($(DotNetTizenWorkloadInstalledVersion)), MAUI ($(DotNetMauiWorkloadInstalledVersion))" /> <Message Text="Workloads installed: Android ($(DotNetAndroidWorkloadIsInstalled)), iOS ($(DotNetIOSWorkloadIsInstalled)), macOS ($(DotNetMacOSWorkloadIsInstalled)), tvOS ($(DotNetTVOSWorkloadIsInstalled)), Tizen ($(DotNetTizenWorkloadIsInstalled)), MAUI ($(DotNetMauiWorkloadIsInstalled))" /> <Error Text="There appears to be a problem selecting the operating system. IsWindows='$(IsWindows)', IsMacOS='$(IsMacOS)', IsLinux='$(IsLinux)'" Condition=" !$(IsWindows) and !$(IsMacOS) and !$(IsLinux) " /> </Target> <Import Project="$(MSBuildThisFileDirectory)SkiaSharp.NuGet.props" /> </Project>