mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-01 14:10:53 +00:00
Skipping a 20 KB stub in OS-specific non-windows builds and omitting a few very fast if checks isn't worth the code quality degradation that involves all of the ifdef options. ifdefs should be reserved for stuff that either doesn't compile whatsoever in some specific configurations (NETFRAMEWORK), or is required to make logical decisions based on the compiler input (e.g. DEBUG for detecting debugging builds or ASF_VARIANT_* for hardcoding the platform identifier to use for auto-updates) In all other situations, we should use OperatingSystem if condition, even if it's equal to hitting them on the platforms that are unlikely to hit them. And I say unlikely, because nothing stops me from downloading a win-x64 build and running it like a generic one on windows, what you gonna do?
90 lines
4.1 KiB
XML
90 lines
4.1 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<Version>5.2.0.3</Version>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
|
<ApplicationIcon>../resources/ASF.ico</ApplicationIcon>
|
|
<Authors>JustArchi</Authors>
|
|
<Company>JustArchiNET</Company>
|
|
<Copyright>Copyright © 2015-$([System.DateTime]::UtcNow.Year) $(Company)</Copyright>
|
|
<Description>ASF is a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.</Description>
|
|
<Deterministic>true</Deterministic>
|
|
<ErrorReport>none</ErrorReport>
|
|
<LangVersion>latest</LangVersion>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
<NeutralLanguage>en</NeutralLanguage>
|
|
<NoWarn>1591</NoWarn>
|
|
<Nullable>enable</Nullable>
|
|
<PackageIcon>../resources/ASF.ico</PackageIcon>
|
|
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
|
<PackageProjectUrl>https://github.com/$(Company)/ArchiSteamFarm</PackageProjectUrl>
|
|
<PackageReadmeFile>README.md</PackageReadmeFile>
|
|
<PackageReleaseNotes>$(PackageProjectUrl)/releases</PackageReleaseNotes>
|
|
<RepositoryBranch>main</RepositoryBranch>
|
|
<RepositoryType>Git</RepositoryType>
|
|
<RepositoryUrl>$(PackageProjectUrl).git</RepositoryUrl>
|
|
<RollForward>LatestMajor</RollForward>
|
|
<RuntimeIdentifiers>linux-arm;linux-arm64;linux-x64;osx-x64;win-x64</RuntimeIdentifiers>
|
|
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="'$(TargetFramework)' == 'net48'">
|
|
<PackageReference Include="JustArchiNET.Madness" />
|
|
<Using Include="JustArchiNET.Madness" />
|
|
<Using Include="JustArchiNET.Madness.OperatingSystemMadness.OperatingSystem" Alias="OperatingSystem" />
|
|
<Using Include="JustArchiNET.Madness.FileMadness.File" Alias="File" />
|
|
<Using Include="JustArchiNET.Madness.PathMadness.Path" Alias="Path" />
|
|
<Using Include="JustArchiNET.Madness.HashCodeMadness.HashCode" Alias="HashCode" />
|
|
<Using Include="JustArchiNET.Madness.StringMadness.String" Alias="String" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition="'$(ASFVariant)' != ''">
|
|
<DefineConstants>$(DefineConstants);ASF_VARIANT_$(ASFVariant.Replace('-', '_').ToUpperInvariant())</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<!-- Default configuration for fast-debugging builds -->
|
|
<PropertyGroup Condition="'$(Configuration)' == 'DebugFast'">
|
|
<AnalysisMode>AllDisabledByDefault</AnalysisMode>
|
|
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<!-- Default configuration for release builds -->
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
|
<AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk.pub</AssemblyOriginatorKeyFile>
|
|
<DebugSymbols>false</DebugSymbols>
|
|
<DebugType>none</DebugType>
|
|
<PublicSign>true</PublicSign>
|
|
<SignAssembly>true</SignAssembly>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<WarningsAsErrors />
|
|
<WarningsNotAsErrors>CS8002,IL2026,IL2057,IL2072,IL2075,IL2104</WarningsNotAsErrors>
|
|
</PropertyGroup>
|
|
|
|
<!-- Private SNK signing -->
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release' AND EXISTS('resources/ArchiSteamFarm.snk')">
|
|
<AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk</AssemblyOriginatorKeyFile>
|
|
<PublicSign>false</PublicSign>
|
|
</PropertyGroup>
|
|
|
|
<!-- Trimming functionality as described on https://docs.microsoft.com/dotnet/core/deploying/trim-self-contained -->
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
|
<DebuggerSupport>false</DebuggerSupport>
|
|
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
|
|
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
|
|
<EventSourceSupport>false</EventSourceSupport>
|
|
<HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
|
|
<MetadataUpdaterSupport>false</MetadataUpdaterSupport>
|
|
<TrimMode>link</TrimMode>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(OS)' == 'Windows_NT' OR '$(ASFNetFramework)' != ''">
|
|
<TargetFrameworks>net6.0;net48</TargetFrameworks>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(OS)' != 'Windows_NT' AND '$(ASFNetFramework)' == ''">
|
|
<TargetFramework>net6.0</TargetFramework>
|
|
</PropertyGroup>
|
|
</Project>
|