mirror of
https://github.com/SK-la/osu-framework.git
synced 2026-03-15 03:20:30 +00:00
53 lines
4.1 KiB
XML
53 lines
4.1 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
<!-- Mono Interpreter resolves many AOT issues occuring on runtime,
|
|
and will be enabled by default on .NET 8+: https://github.com/dotnet/maui/issues/13019 -->
|
|
<UseInterpreter>true</UseInterpreter>
|
|
<NullabilityInfoContextSupport>true</NullabilityInfoContextSupport>
|
|
<!-- MT7091 occurs when referencing a .framework bundle that consists of a static library.
|
|
It only warns about not copying the library to the app bundle to save space,
|
|
so there's nothing to be worried about. -->
|
|
<NoWarn>$(NoWarn);MT7091</NoWarn>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Platform)' == 'iPhone'">
|
|
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Platform)' == 'iPhoneSimulator'">
|
|
<RuntimeIdentifiers>iossimulator-x64</RuntimeIdentifiers>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<!-- Dependency for osuTK.iOS, removing will fail loading the AOT module -->
|
|
<PackageReference Include="System.Drawing.Common" Version="5.0.2"/>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\bass.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\bass_fx.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\bassmix.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libavcodec.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libavdevice.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libavfilter.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libavformat.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libavutil.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libswresample.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\libswscale.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
<NativeReference Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\runtimes\ios\native\veldrid-spirv.xcframework" Kind="Framework" SmartLink="false" ForceLoad="true" />
|
|
</ItemGroup>
|
|
<!-- Veldrid references libraries which cannot be AOT'd on iOS, replace them with stub assemblies.
|
|
See: https://github.com/mellinoe/veldrid/issues/472#issuecomment-1356461410 -->
|
|
<Target Name="OsuFrameworkIOSCopyStubAssemblies" BeforeTargets="_AOTCompile">
|
|
<ItemGroup>
|
|
<StubFiles Include="$(MSBuildThisFileDirectory)osu.Framework.iOS\stubs\*" />
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(StubFiles)" DestinationFolder="obj\$(Platform)\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\linked\" />
|
|
</Target>
|
|
<!-- OpenTabletDriver contains P/Invokes to the "Quartz" framework for native macOS code.
|
|
This leads iOS linker into attempting to include that framework, despite not existing on such platform.
|
|
See: https://github.com/OpenTabletDriver/OpenTabletDriver/issues/2524 / https://github.com/xamarin/xamarin-macios/issues/15118#issuecomment-1141893683 -->
|
|
<Target Name="OsuFrameworkIOSRemoveQuartz" BeforeTargets="_ComputeLinkNativeExecutableInputs" AfterTargets="_LoadLinkerOutput">
|
|
<ItemGroup>
|
|
<_LinkerFrameworks Remove="Quartz"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|