Repository navigation
Expand file tree
/
Copy pathBazzBasic.csproj
More file actions
68 lines (58 loc) · 2.53 KB
/
Copy pathBazzBasic.csproj
File metadata and controls
68 lines (58 loc) · 2.53 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
<Project Sdk="Microsoft.NET.Sdk">
<!-- BazzBasic interpreter (console). The IDE is IDE\BazzBasic-IDE.csproj.
Shared metadata (version, company...) comes from Directory.Build.props. -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<!-- -windows is needed for System.Drawing.Common (LOADIMAGE/LOADSHEET).
No UseWindowsForms: it would pull in the WindowsDesktop runtime (~40 MB). -->
<TargetFramework>net10.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>IDE0130;NU1510</NoWarn>
<AssemblyName>BazzBasic</AssemblyName>
<RootNamespace>BazzBasic</RootNamespace>
<AssemblyTitle>BazzBasic</AssemblyTitle>
<Description>BazzBasic BASIC interpreter</Description>
<ApplicationIcon>icon.ico</ApplicationIcon>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<!-- Trimming: ~72 MB -> ~15 MB. Compiled user programs are copies of this exe,
so they shrink too. Keep the build free of IL2xxx trim warnings
(e.g. JSON must not use reflection-based JsonSerializer). -->
<PropertyGroup Condition="'$(SelfContained)' == 'true'">
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
<!-- The IDE project lives in IDE\ and must not be compiled into the interpreter -->
<ItemGroup>
<Compile Remove="IDE\**" />
<EmbeddedResource Remove="IDE\**" />
<None Remove="IDE\**" />
<Content Remove="IDE\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.Drawing.Common" Version="9.0.5" />
</ItemGroup>
<ItemGroup>
<Content Include="SDL2.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SDL2_mixer.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SDL2_ttf.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="icon.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Folder Include="docs\" />
</ItemGroup>
<!-- Clean up publish: remove win-x86 (not needed for x64 build) and .pdb -->
<Target Name="CleanPublishOutput" AfterTargets="Publish">
<RemoveDir Directories="$(PublishDir)runtimes\win-x86" Condition="Exists('$(PublishDir)runtimes\win-x86')" />
<Delete Files="$(PublishDir)BazzBasic.pdb" Condition="Exists('$(PublishDir)BazzBasic.pdb')" />
</Target>
</Project>