.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
.NET port / cpp-conformance (push) Canceled after 0s
47 lines
3.0 KiB
XML
47 lines
3.0 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>Exe</OutputType>
|
|
<TargetFramework>net10.0-macos27.0</TargetFramework>
|
|
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
|
<SupportedOSPlatformVersion>14.0</SupportedOSPlatformVersion>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<ApplicationTitle>VoiceCat</ApplicationTitle>
|
|
<ApplicationId>net.iamtalon.voicecat</ApplicationId>
|
|
<UseHardenedRuntime Condition="'$(Configuration)' == 'Release'">true</UseHardenedRuntime>
|
|
<UseHardenedRuntime Condition="'$(Configuration)' != 'Release'">false</UseHardenedRuntime>
|
|
<ApplicationManifest>Info.plist</ApplicationManifest>
|
|
<CodesignEntitlements>VoiceCat.Mac.entitlements</CodesignEntitlements>
|
|
<NoWarn>$(NoWarn);XCODE_27_0_PREVIEW</NoWarn>
|
|
<VoiceCatNativeMediaPath>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)../../../../dotnet/artifacts/native/runtimes/osx-arm64/native/libvoicecat_media.dylib'))</VoiceCatNativeMediaPath>
|
|
<VoiceCatNativeLicenseDirectory>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)../../../../dotnet/artifacts/native/licenses'))</VoiceCatNativeLicenseDirectory>
|
|
<_ComputePublishLocationDependsOn>VoiceCatPrepareNativeAssets;$(_ComputePublishLocationDependsOn)</_ComputePublishLocationDependsOn>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="../../../../dotnet/src/VoiceCat.Core/VoiceCat.Core.csproj" />
|
|
<BundleResource Include="../../Sources/VoiceCatCore/Sounds/*.wav" Link="Sounds/%(Filename)%(Extension)" />
|
|
</ItemGroup>
|
|
|
|
<!-- Every managed media project stages the same dylib for ordinary .NET consumers.
|
|
The macOS bundler preserves those transitive items separately and otherwise runs
|
|
install_name_tool against the same temporary file concurrently. Collapse them to
|
|
the single native reference the application actually ships. -->
|
|
<Target Name="VoiceCatPrepareNativeAssets">
|
|
<ItemGroup>
|
|
<ResolvedFileToPublish Remove="@(ResolvedFileToPublish)" Condition="'%(Filename)%(Extension)' == 'libvoicecat_media.dylib'" />
|
|
<ResolvedFileToPublish Remove="@(ResolvedFileToPublish)" Condition="'%(Filename)%(Extension)' == 'NOTICE.txt' or '%(Filename)%(Extension)' == 'Opus.txt' or '%(Filename)%(Extension)' == 'RNNoise.txt'" />
|
|
<ResolvedFileToPublish Include="$(VoiceCatNativeMediaPath)" Condition="Exists('$(VoiceCatNativeMediaPath)')">
|
|
<RelativePath>libvoicecat_media.dylib</RelativePath>
|
|
<PublishFolderType>DynamicLibrary</PublishFolderType>
|
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
</ResolvedFileToPublish>
|
|
<ResolvedFileToPublish Include="$(VoiceCatNativeLicenseDirectory)/*.txt">
|
|
<RelativePath>licenses/%(Filename)%(Extension)</RelativePath>
|
|
<PublishFolderType>Assembly</PublishFolderType>
|
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
</ResolvedFileToPublish>
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|