mirror of https://github.com/emgucv/emgucv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
7.3 KiB
104 lines
7.3 KiB
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
|
|
<!-- <RuntimeIdentifiers>ios-arm64;iossimulator-x64</RuntimeIdentifiers> -->
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>true</ImplicitUsings>
|
|
<IsBindingProject>true</IsBindingProject>
|
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
<UseXCFramework>true</UseXCFramework>
|
|
<NoBindingEmbedding>$(UseXCFramework)</NoBindingEmbedding>
|
|
<AssemblyName>Emgu.CV.runtime.maui.ios</AssemblyName>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<EmguCVIOSLinkTarget>MAUI IOS Library</EmguCVIOSLinkTarget>
|
|
<OpenCVBinaryDir>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\libs))</OpenCVBinaryDir>
|
|
<EmguCVNativeIOSFramework>$(OpenCVBinaryDir)\iOS\libcvextern_ios.xcframework</EmguCVNativeIOSFramework>
|
|
<EmguCVNativeIOSBinary>$(OpenCVBinaryDir)\iOS\libcvextern_universal.a</EmguCVNativeIOSBinary>
|
|
<EmguCVNativeIOSBinarySimulatorArm64>$(OpenCVBinaryDir)\iOS\libcvextern_simulator_arm64.a</EmguCVNativeIOSBinarySimulatorArm64>
|
|
<UseEmguCVNativeIOSFramework Condition="('$(UseXCFramework)'=='true') And Exists('$(EmguCVNativeIOSFramework)')">true</UseEmguCVNativeIOSFramework>
|
|
<UseEmguCVNativeIOSBinary Condition="('$(UseXCFramework)'!='true') And Exists('$(EmguCVNativeIOSBinary)') And (!$(RuntimeIdentifier.Contains('iossimulator-arm64')))">true</UseEmguCVNativeIOSBinary>
|
|
<UseEmguCVNativeIOSBinarySimulatorArm64 Condition="('$(UseXCFramework)'!='true') And Exists('$(EmguCVNativeIOSBinarySimulatorArm64)') And $(RuntimeIdentifier.Contains('iossimulator-arm64'))">true</UseEmguCVNativeIOSBinarySimulatorArm64>
|
|
<IOSFrameworkUsed Condition="'$(UseEmguCVNativeIOSFramework)'=='true'">$(EmguCVNativeIOSFramework);$(IOSFrameworkUsed)</IOSFrameworkUsed>
|
|
<IOSFrameworkUsed Condition="'$(UseEmguCVNativeIOSBinary)'=='true'">$(EmguCVNativeIOSBinary);$(IOSFrameworkUsed)</IOSFrameworkUsed>
|
|
<IOSFrameworkUsed Condition="'$(UseEmguCVNativeIOSBinarySimulatorArm64)'=='true'">$(EmguCVNativeIOSBinarySimulatorArm64);$(IOSFrameworkUsed)</IOSFrameworkUsed>
|
|
<EmguCVMauiIOSErrorMessage Condition="('$(UseXCFramework)'!='true') And (!Exists('$(EmguCVNativeIOSBinarySimulatorArm64)')) And !$(RuntimeIdentifier.Contains('iossimulator-arm64'))">This package do not contain necessary binary for $(EmguCVIOSLinkTarget). Emgu CV for iOS Commercial License is required. iOS is targeted, but file $(EmguCVNativeIOSBinarySimulatorArm64) is missing.</EmguCVMauiIOSErrorMessage>
|
|
<EmguCVMauiIOSErrorMessage Condition="('$(UseXCFramework)'!='true') And (!Exists('$(EmguCVNativeIOSBinary)')) And $(RuntimeIdentifier.Contains('iossimulator-arm64'))">This package do not contain necessary binary for $(EmguCVIOSLinkTarget). Emgu CV for iOS Commercial License is required. iOS is targeted, but file $(EmguCVNativeIOSBinary) is missing.</EmguCVMauiIOSErrorMessage>
|
|
<EmguCVMauiIOSErrorMessage Condition="('$(UseXCFramework)'=='true') And (!Exists('$(EmguCVNativeIOSFramework)'))">This package do not contain necessary binary for $(EmguCVIOSLinkTarget). Emgu CV for iOS Commercial License is required. iOS is targeted, but file $(EmguCVNativeIOSFramework) is missing.</EmguCVMauiIOSErrorMessage>
|
|
<BaseOutputPath>$(OpenCVBinaryDir)\Build\$(AssemblyName)\$(Platform)\</BaseOutputPath>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
<WarningLevel>4</WarningLevel>
|
|
<!-- <OutputPath>$(OpenCVBinaryDir)\Build\$(AssemblyName)\$(Platform)\$(Configuration)\</OutputPath> -->
|
|
<DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
|
|
<MtouchLink>SdkOnly</MtouchLink>
|
|
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
|
|
<PlatformTarget>anycpu</PlatformTarget>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
<!-- <OutputPath>$(OpenCVBinaryDir)\Build\$(AssemblyName)\$(Platform)\$(Configuration)\</OutputPath> -->
|
|
<DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
|
|
<MtouchLink>SdkOnly</MtouchLink>
|
|
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\Emgu.CV.NativeImage\CGImageExtension.cs" Link="CGImageExtension.cs" />
|
|
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\Emgu.CV.NativeImage\UIImageExtension.cs" Link="UIImageExtension.cs" />
|
|
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\Emgu.CV.NativeImage\CIImageExtension.cs" Link="CIImageExtension.cs" />
|
|
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
|
|
<ObjcBindingCoreSource Include="StructsAndEnums.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
|
|
<NativeReference Condition="'$(UseEmguCVNativeIOSBinary)'=='true'" Include="$(EmguCVNativeIOSBinary)">
|
|
<Kind>Static</Kind>
|
|
<SmartLink>True</SmartLink>
|
|
<ForceLoad>True</ForceLoad>
|
|
<IsCxx>True</IsCxx>
|
|
<LinkerFlags>-stdlib=libc++ -ObjC -lc++</LinkerFlags>
|
|
<Frameworks>Foundation Accelerate CoreFoundation CoreGraphics AssetsLibrary AVFoundation CoreImage CoreMedia CoreVideo QuartzCore ImageIO UIKit CoreText</Frameworks>
|
|
|
|
</NativeReference>
|
|
<NativeReference Condition="'$(UseEmguCVNativeIOSFrameworkSimulatorArm64)'=='true'" Include="$(EmguCVNativeIOSBinarySimulatorArm64)">
|
|
<Kind>Static</Kind>
|
|
<SmartLink>True</SmartLink>
|
|
<ForceLoad>True</ForceLoad>
|
|
<IsCxx>True</IsCxx>
|
|
<LinkerFlags>-stdlib=libc++ -ObjC -lc++</LinkerFlags>
|
|
<Frameworks>Foundation Accelerate CoreFoundation CoreGraphics AssetsLibrary AVFoundation CoreImage CoreMedia CoreVideo QuartzCore ImageIO UIKit CoreText</Frameworks>
|
|
|
|
</NativeReference>
|
|
|
|
<NativeReference Condition="'$(UseEmguCVNativeIOSFramework)'=='true'" Include="$(EmguCVNativeIOSFramework)">
|
|
<Kind>Static</Kind>
|
|
<SmartLink>True</SmartLink>
|
|
<ForceLoad>True</ForceLoad>
|
|
<IsCxx>True</IsCxx>
|
|
<LinkerFlags>-v -stdlib=libc++ -ObjC -lc++</LinkerFlags>
|
|
<Frameworks>Foundation Accelerate CoreFoundation CoreGraphics AssetsLibrary AVFoundation CoreImage CoreMedia CoreVideo QuartzCore ImageIO UIKit CoreText</Frameworks>
|
|
</NativeReference>
|
|
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\..\Emgu.CV\NetStandard\Emgu.CV.csproj" />
|
|
</ItemGroup>
|
|
<!--
|
|
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
|
<Message Condition="$(RuntimeIdentifier.Contains('iossimulator-arm64'))" Text="Building for ios simulator arm64" Importance="high" />
|
|
<Message Condition="!$(RuntimeIdentifier.Contains('iossimulator-arm64'))" Text="Building for ios device arm64 + ios simulator x86_64" Importance="high" />
|
|
<Message Text="Copying $(OutputPath)$(AssemblyName).dll and $(OutputPath)$(AssemblyName).xml to $(OpenCVBinaryDir)" Importance="high" />
|
|
<Copy SourceFiles="$(OutputPath)$(AssemblyName).dll" DestinationFolder="$(OpenCVBinaryDir)" ContinueOnError="true" />
|
|
<Copy SourceFiles="$(OutputPath)$(AssemblyName).xml" DestinationFolder="$(OpenCVBinaryDir)" ContinueOnError="true" />
|
|
</Target>
|
|
-->
|
|
<Target Name="EmguCVMauiIOSPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
<Message Text="IOS native binary linked: '$(IOSFrameworkUsed)'" Importance="high" />
|
|
<Warning Text="'$(EmguCVMauiIOSErrorMessage)'" Condition="'$(EmguCVMauiIOSErrorMessage)'!=''" />
|
|
</Target>
|
|
</Project>
|