The workaround needed for WASM is not really Blazor specific and if the project is not using the Blazor views, the fix will not be applied to the build.
102 lines
No EOL
8 KiB
XML
102 lines
No EOL
8 KiB
XML
<Project>
|
|
|
|
<!-- This file is exactly the same as IncludeNativeAssets.HarfBuzzSharp.targets, but with a find-replace 'HarfBuzzSharp' to 'SkiaSharp' -->
|
|
|
|
<ItemGroup Condition="!$(TargetFramework.Contains('-')) or $(TargetFramework.Contains('-desktop'))">
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x64\libSkiaSharp.*" Condition="'$(Platform)' == '' or '$(Platform)' == 'AnyCPU' or '$(Platform)' == 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\$(Platform)\libSkiaSharp.*" Condition="'$(Platform)' != '' and '$(Platform)' != 'AnyCPU' and '$(Platform)' != 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\osx\libSkiaSharp.*" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\linux\x64\libSkiaSharp.*" Condition="'$(Platform)' == '' or '$(Platform)' == 'AnyCPU' or '$(Platform)' == 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\linux\$(Platform)\libSkiaSharp.*" Condition="'$(Platform)' != '' and '$(Platform)' != 'AnyCPU' and '$(Platform)' != 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-windows')) and '$(Platform)' != 'AnyCPU' and '$(Platform)' != 'Any CPU'">
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\$(Platform)\libSkiaSharp.*" Visible="False" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-windows')) and ('$(Platform)' == 'AnyCPU' or '$(Platform)' == 'Any CPU')">
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x64\libSkiaSharp.*" Condition="'$(RuntimeIdentifier)' == 'win10-x64'" Visible="False" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x86\libSkiaSharp.*" Condition="'$(RuntimeIdentifier)' == 'win10-x86'" Visible="False" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\arm64\libSkiaSharp.*" Condition="'$(RuntimeIdentifier)' == 'win10-arm64'" Visible="False" />
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x64\libSkiaSharp.*" Condition="'$(RuntimeIdentifier)' == ''" Visible="False" CopyToOutputDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-ios')) and '$(RuntimeIdentifier)' != ''">
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\iossimulator\libSkiaSharp.framework" Kind="Framework" Condition="$(RuntimeIdentifier.StartsWith('iossimulator'))" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\ios\libSkiaSharp.framework" Kind="Framework" Condition="!$(RuntimeIdentifier.StartsWith('iossimulator'))" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-android'))">
|
|
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\output\native\android\x86\libSkiaSharp.so" Abi="x86" />
|
|
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\output\native\android\x86_64\libSkiaSharp.so" Abi="x86_64" />
|
|
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\output\native\android\armeabi-v7a\libSkiaSharp.so" Abi="armeabi-v7a" />
|
|
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\output\native\android\arm64-v8a\libSkiaSharp.so" Abi="arm64-v8a" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-maccatalyst'))">
|
|
<ResolvedFileToPublish Include="$(MSBuildThisFileDirectory)..\output\native\maccatalyst\libSkiaSharp.framework.zip" PublishFolderType="CompressedAppleFramework" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-macos'))">
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\osx\libSkiaSharp.dylib" Kind="Dynamic" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-tizen'))">
|
|
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\i586\libSkiaSharp.so">
|
|
<Visible>false</Visible>
|
|
<TizenTpkSubDir>bin\runtimes\linux-x86\native\</TizenTpkSubDir>
|
|
<TizenTpkFileName>libSkiaSharp.so</TizenTpkFileName>
|
|
</TizenTpkFiles>
|
|
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\armel\libSkiaSharp.so">
|
|
<Visible>false</Visible>
|
|
<TizenTpkSubDir>bin\runtimes\tizen-armel\native\</TizenTpkSubDir>
|
|
<TizenTpkFileName>libSkiaSharp.so</TizenTpkFileName>
|
|
</TizenTpkFiles>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('-tvos'))">
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\tvos\libSkiaSharp.framework" Kind="Framework" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(IsUnoHead)' == 'True' and '$(UnoRuntimeIdentifier)' == 'WebAssembly'">
|
|
<Content Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\**\*.a" Visible="false" />
|
|
</ItemGroup>
|
|
<ItemGroup Condition="'$(IsUnoHead)' == 'True' and '$(UnoRuntimeIdentifier)' == 'WebAssembly'">
|
|
<WasmShellExtraEmccFlags Include="-s USE_WEBGL2=1"/>
|
|
<WasmShellExtraEmccFlags Condition="'$(WasmShellEnableThreads)'=='True'" Include="-s OFFSCREEN_FRAMEBUFFER=1" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition="('$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' == 'true')">
|
|
<WasmBuildNative Condition="'$(WasmBuildNative)' == ''">true</WasmBuildNative>
|
|
<EmccExtraLDFlags>$(EmccExtraLDFlags) -s USE_WEBGL2=1</EmccExtraLDFlags>
|
|
<_SkiaSharpNativeBinaryType Condition="'$(WasmEnableThreads)' == 'True'">mt</_SkiaSharpNativeBinaryType>
|
|
<_SkiaSharpNativeBinaryType Condition="'$(WasmEnableThreads)' != 'True'">st</_SkiaSharpNativeBinaryType>
|
|
<_SkiaSharpNativeBinaryType Condition="'$(WasmEnableSIMD)' == 'True'">$(_SkiaSharpNativeBinaryType),simd</_SkiaSharpNativeBinaryType>
|
|
<_SkiaSharpNativeBinaryType Condition="'$(WasmEnableSIMD)' != 'True'">$(_SkiaSharpNativeBinaryType)</_SkiaSharpNativeBinaryType>
|
|
</PropertyGroup>
|
|
<ItemGroup Condition="('$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' == 'true') and '$(TargetFrameworkVersion)' != ''">
|
|
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\2.0.23\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))" />
|
|
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.12\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
|
|
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.34\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
|
|
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.56\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '9.0'))" />
|
|
</ItemGroup>
|
|
|
|
<!-- Workaround for https://github.com/dotnet/runtime/issues/109289 -->
|
|
<Target Name="RuntimeIssue109289_Workaround"
|
|
AfterTargets="_BrowserWasmWriteRspForLinking">
|
|
<ItemGroup>
|
|
<_WasmLinkStepArgs Remove="@(_EmccLinkStepArgs)" />
|
|
<_EmccLinkStepArgs Remove=""%(_WasmNativeFileForLinking.Identity)"" />
|
|
<_WasmLinkDependencies Remove="@(_WasmNativeFileForLinking)" />
|
|
|
|
<_SkiaSharpToReorder Include="@(_WasmNativeFileForLinking)" Condition="$([System.String]::Copy('%(FullPath)').Contains('libSkiaSharp.a'))" />
|
|
<_WasmNativeFileForLinking Remove="@(_SkiaSharpToReorder)" />
|
|
<_WasmNativeFileForLinking Include="@(_SkiaSharpToReorder)" />
|
|
|
|
<_EmccLinkStepArgs Include=""%(_WasmNativeFileForLinking.Identity)"" />
|
|
<_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" />
|
|
<_WasmLinkStepArgs Include="@(_EmccLinkStepArgs)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
</Project> |