forked from NetKeyer/NetKeyer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNetKeyer.csproj
More file actions
123 lines (118 loc) · 6.52 KB
/
NetKeyer.csproj
File metadata and controls
123 lines (118 loc) · 6.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<Nullable>disable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
<NoWarn>$(NoWarn);CS0169;CS0649;CS0067;CS8618;CS8602;CS8603;CS8604;CS0436;CS8632</NoWarn>
<!-- macOS bundle configuration -->
<CFBundleName>NetKeyer</CFBundleName>
<CFBundleDisplayName>NetKeyer</CFBundleDisplayName>
<CFBundleIdentifier>com.netkeyer.app</CFBundleIdentifier>
</PropertyGroup>
<ItemGroup>
<Folder Include="Models\" />
<AvaloniaResource Include="Assets\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Auth0.AuthenticationApi" Version="7.42.0" />
<PackageReference Include="Avalonia" Version="11.3.8" />
<PackageReference Include="Avalonia.Desktop" Version="11.3.8" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.8" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.8" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Include="Avalonia.Diagnostics" Version="11.3.8">
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" />
<PackageReference Include="MessageBox.Avalonia" Version="3.3.1.1" />
<PackageReference Include="NAudio" Version="2.2.1" />
<PackageReference Include="PortAudioSharp2" Version="1.0.4" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.14.0" />
<PackageReference Include="System.IO.Ports" Version="9.0.10" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="10.0.0" />
<PackageReference Include="Velopack" Version="*" />
<!-- FlexLib dependencies -->
<PackageReference Include="AsyncAwaitBestPractices" Version="9.0.0" />
<PackageReference Include="ProDotNetZip" Version="1.19.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Collections.Immutable" Version="9.0.0" />
<PackageReference Include="Netify" Version="1.1.1" />
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
<PackageReference Include="RestSharp" Version="112.1.0" />
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.0" />
<PackageReference Include="System.Text.Json" Version="9.0.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
</ItemGroup>
<ItemGroup>
<!-- FlexLib DLL references -->
<Reference Include="Flex.UiWpfFramework">
<HintPath>lib\Flex.UiWpfFramework.dll</HintPath>
<Private>true</Private>
</Reference>
<Reference Include="Util">
<HintPath>lib\Util.dll</HintPath>
<Private>true</Private>
</Reference>
<Reference Include="Vita">
<HintPath>lib\Vita.dll</HintPath>
<Private>true</Private>
</Reference>
<Reference Include="FlexLib">
<HintPath>lib\FlexLib.dll</HintPath>
<Private>true</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="obj\**\*.cs" />
</ItemGroup>
<!-- Pre-built native MIDI shim: copy to output directory at build time.
Each condition handles two cases:
1. Explicit publish RID (-r linux-x64, -r linux-arm64, etc.)
2. "dotnet run" with no RID — falls back to checking the build machine's
OS and CPU architecture via RuntimeInformation so the correct shim is
picked on both x64 and arm64 development machines. -->
<ItemGroup>
<Content Include="native/linux-x64/libnetkeyer_midi_shim.so"
Condition="'$(RuntimeIdentifier)' == 'linux-x64' Or
($([MSBuild]::IsOsPlatform('Linux')) And '$(RuntimeIdentifier)' == '' And
'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>libnetkeyer_midi_shim.so</TargetPath>
</Content>
<Content Include="native/linux-arm64/libnetkeyer_midi_shim.so"
Condition="'$(RuntimeIdentifier)' == 'linux-arm64' Or
($([MSBuild]::IsOsPlatform('Linux')) And '$(RuntimeIdentifier)' == '' And
'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>libnetkeyer_midi_shim.so</TargetPath>
</Content>
<Content Include="native/windows-x64/netkeyer_midi_shim.dll"
Condition="'$(RuntimeIdentifier)' == 'win-x64' Or
($([MSBuild]::IsOsPlatform('Windows')) And '$(RuntimeIdentifier)' == '' And
'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>netkeyer_midi_shim.dll</TargetPath>
</Content>
<Content Include="native/osx-x64/libnetkeyer_midi_shim.dylib"
Condition="'$(RuntimeIdentifier)' == 'osx-x64' Or
($([MSBuild]::IsOsPlatform('OSX')) And '$(RuntimeIdentifier)' == '' And
'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>libnetkeyer_midi_shim.dylib</TargetPath>
</Content>
<Content Include="native/osx-arm64/libnetkeyer_midi_shim.dylib"
Condition="'$(RuntimeIdentifier)' == 'osx-arm64' Or
($([MSBuild]::IsOsPlatform('OSX')) And '$(RuntimeIdentifier)' == '' And
'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>libnetkeyer_midi_shim.dylib</TargetPath>
</Content>
</ItemGroup>
</Project>