Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
54 lines (50 loc) · 3.17 KB
/
Copy pathDirectory.Build.props
File metadata and controls
54 lines (50 loc) · 3.17 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
<Project>
<!--
SfxSlim builds a reduced flavour of the library for the self-extracting stubs. It must never
share bin/obj with the ordinary build: both produce Compression.Lib.dll, and the slim one
silently replacing the full one leaves every other project in the same run linked against a
library missing half its formats. Redirecting here (rather than in a csproj) catches the whole
project graph, and is early enough for the intermediate path to take effect.
-->
<PropertyGroup Condition="'$(SfxSlim)' == 'true'">
<BaseOutputPath>bin\slim\</BaseOutputPath>
<BaseIntermediateOutputPath>obj\slim\</BaseIntermediateOutputPath>
<!-- Moving the intermediate path stops obj\ itself from being the excluded directory, so the
ordinary build's generated AssemblyInfo would otherwise be swept up by the default glob
and every assembly attribute would be declared twice. Excluding the whole tree rather than
named configurations, because a RuntimeIdentifier or Platform adds another path segment
(obj\Release vs objd\Release) and an enumerated list silently stops matching. The
generated AssemblyInfo the slim build does need is added explicitly by the SDK, not by
this glob. -->
<DefaultItemExcludes>$(DefaultItemExcludes);obj\**;bin\**</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>14</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!-- XML doc-comment diagnostics (malformed comment, unresolved/invalid cref,
missing/duplicate param tags) stay warnings — a broken doc link is a
documentation nit, not something that should ever fail a build. -->
<WarningsNotAsErrors>CS1570;CS1571;CS1572;CS1573;CS1574;CS1580;CS1581;CS1584;CS1587;CS1591</WarningsNotAsErrors>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<Version>1.0.0</Version>
<Authors>Hawkynt</Authors>
<!-- Must match the file on disk exactly. Every packable project here overrides this anyway, so
the old "ReadMe.md" spelling never bit; a new packable project that did not override it
would have failed `dotnet pack` with NU5039 on a case-sensitive host. -->
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageProjectUrl>https://github.com/Hawkynt/CompressionWorkbench</PackageProjectUrl>
<PackageTags>Hawkynt;CompressionWorkbench</PackageTags>
<RepositoryUrl>https://github.com/Hawkynt/CompressionWorkbench</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>LGPL-3.0-or-later</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<!-- The AMR codecs and containers needed a hand-placed reference here so they took part in
static graph restore. They now compile into Hawkynt.FileFormats.Audio along with every
other audio format, so a plain reference to that package carries them. -->
</Project>