126 lines
11 KiB
XML
126 lines
11 KiB
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'win-x64'">win-x64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'win-arm64'">win-arm64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'linux-x64'">linux-x64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'linux-arm64'">linux-arm64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'osx-x64'">osx-x64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkRid Condition="'$(RuntimeIdentifier)' == 'osx-arm64'">osx-arm64</_ShirokaAvaloniaStaticLinkRid>
|
|
<_ShirokaAvaloniaStaticLinkNativeRoot Condition="'$(_ShirokaAvaloniaStaticLinkRid)' != ''">$(ShirokaAvaloniaStaticLinkRoot)$(_ShirokaAvaloniaStaticLinkRid)/native</_ShirokaAvaloniaStaticLinkNativeRoot>
|
|
<LinkerFlavor Condition="'$(LinkerFlavor)' == '' and ('$(RuntimeIdentifier)' == 'linux-x64' or '$(RuntimeIdentifier)' == 'linux-arm64')">lld</LinkerFlavor>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'win-x64' or '$(RuntimeIdentifier)' == 'win-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<DirectPInvoke Include="libHarfBuzzSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.lib')" />
|
|
<DirectPInvoke Include="libSkiaSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/SkiaSharp.lib')" />
|
|
<DirectPInvoke Include="libGLESv2" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.lib')" />
|
|
<DirectPInvoke Include="av_libglesv2" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/skia.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/skia.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/SkiaSharp.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/SkiaSharp.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libANGLE_static.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libANGLE_static.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libc++.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libc++.lib')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libc++abi.lib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libc++abi.lib')" />
|
|
<LinkerArg Include="d3d9.lib;dxguid.lib" />
|
|
<LinkerArg Include="dxgi.lib" />
|
|
<LinkerArg Include="Gdi32.lib;User32.lib" />
|
|
<LinkerArg Include="synchronization.lib" />
|
|
<LinkerArg Include="fontsub.lib;Ole32.lib;USP10.lib" />
|
|
<LinkerArg Include="d3d12.lib;d3dcompiler.lib" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'linux-x64' or '$(RuntimeIdentifier)' == 'linux-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<DirectPInvoke Include="libHarfBuzzSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<DirectPInvoke Include="libSkiaSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libANGLE_static.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libANGLE_static.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libGLESv2_static.a')" />
|
|
<NativeSystemLibrary Include="stdc++" />
|
|
<NativeSystemLibrary Include="gcc_eh" />
|
|
<NativeSystemLibrary Include="fontconfig" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'linux-x64' or '$(RuntimeIdentifier)' == 'linux-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != '' and '$(LinkerFlavor)' == 'lld'">
|
|
<LinkerArg Include="-Wl,-z,nostart-stop-gc" />
|
|
<LinkerArg Include="-Wl,--allow-multiple-definition" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a')" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'osx-x64' or '$(RuntimeIdentifier)' == 'osx-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<Compile Include="$(MSBuildThisFileDirectory)Shiroka.Avalonia.StaticLink.MacOSFontWarmup.cs" Link="Shiroka.Avalonia.StaticLink.MacOSFontWarmup.cs" Condition="Exists('$(MSBuildThisFileDirectory)Shiroka.Avalonia.StaticLink.MacOSFontWarmup.cs')" />
|
|
<DirectPInvoke Include="libAvaloniaNative" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libAvaloniaNative.a')" />
|
|
<DirectPInvoke Include="libHarfBuzzSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<DirectPInvoke Include="libSkiaSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/macos_font_preinit.o" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/macos_font_preinit.o')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libAvaloniaNative.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libAvaloniaNative.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a')" />
|
|
<NativeLibrary Include="$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
<NativeSystemLibrary Include="c++" />
|
|
<LinkerArg Include="-framework AppKit" />
|
|
<LinkerArg Include="-framework Carbon" />
|
|
<LinkerArg Include="-framework CoreFoundation" />
|
|
<LinkerArg Include="-framework CoreGraphics" />
|
|
<LinkerArg Include="-framework CoreText" />
|
|
<LinkerArg Include="-framework Foundation" />
|
|
<LinkerArg Include="-framework IOSurface" />
|
|
<LinkerArg Include="-framework Metal" />
|
|
<LinkerArg Include="-framework OpenGL" />
|
|
<LinkerArg Include="-framework QuartzCore" />
|
|
<LinkerArg Include="-framework UniformTypeIdentifiers" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="ShirokaAvaloniaStaticLinkDisableStaticExecutableOnApple"
|
|
BeforeTargets="LinkNative"
|
|
Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'osx-x64' or '$(RuntimeIdentifier)' == 'osx-arm64')">
|
|
<PropertyGroup>
|
|
<StaticExecutable>false</StaticExecutable>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<LinkerArg Remove="-static" />
|
|
<LinkerArg Remove="-static-pie" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="ShirokaAvaloniaStaticLinkValidateMacOSStaticLibraries"
|
|
BeforeTargets="LinkNative"
|
|
Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'osx-x64' or '$(RuntimeIdentifier)' == 'osx-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<Error Condition="!Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" Text="Missing static library: $(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a" />
|
|
<Error Condition="!Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a')" Text="Missing static library: $(_ShirokaAvaloniaStaticLinkNativeRoot)/libskia.a" />
|
|
<Error Condition="!Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" Text="Missing static library: $(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a" />
|
|
</Target>
|
|
|
|
<Target Name="ShirokaAvaloniaStaticLinkAddMacOSDirectPInvokes"
|
|
BeforeTargets="WriteIlcRspFileForCompilation"
|
|
Condition="'$(PublishAot)' == 'true' and ('$(RuntimeIdentifier)' == 'osx-x64' or '$(RuntimeIdentifier)' == 'osx-arm64') and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<ItemGroup>
|
|
<DirectPInvoke Include="libAvaloniaNative" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libAvaloniaNative.a')" />
|
|
<DirectPInvoke Include="libAvaloniaNative.dylib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libAvaloniaNative.a')" />
|
|
<DirectPInvoke Include="libHarfBuzzSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<DirectPInvoke Include="libHarfBuzzSharp.dylib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libHarfBuzzSharp.a')" />
|
|
<DirectPInvoke Include="libSkiaSharp" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
<DirectPInvoke Include="libSkiaSharp.dylib" Condition="Exists('$(_ShirokaAvaloniaStaticLinkNativeRoot)/libSkiaSharp.a')" />
|
|
</ItemGroup>
|
|
<Message Importance="high" Text="Shiroka StaticLink DirectPInvoke: @(DirectPInvoke)" />
|
|
<Message Importance="high" Text="Shiroka StaticLink NativeLibrary: @(NativeLibrary)" />
|
|
</Target>
|
|
|
|
<Target Name="ShirokaAvaloniaStaticLinkCleanDynamicAssets"
|
|
AfterTargets="Publish"
|
|
Condition="'$(PublishAot)' == 'true' and '$(_ShirokaAvaloniaStaticLinkNativeRoot)' != ''">
|
|
<ItemGroup>
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)av_libglesv2.dll" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libHarfBuzzSharp.dll" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libSkiaSharp.dll" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libHarfBuzzSharp.so" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libSkiaSharp.so" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libHarfBuzzSharp.dylib" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libSkiaSharp.dylib" />
|
|
<_ShirokaAvaloniaStaticLinkFilesToDelete Include="$(PublishDir)libAvaloniaNative.dylib" />
|
|
</ItemGroup>
|
|
<Delete Files="@(_ShirokaAvaloniaStaticLinkFilesToDelete)" TreatErrorsAsWarnings="true" />
|
|
</Target>
|
|
</Project>
|