naps2/NAPS2.Lib/NAPS2.Lib.csproj
2024-04-17 22:22:12 -07:00

112 lines
5.7 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('Linux'))">net8;net462</TargetFrameworks>
<TargetFrameworks Condition="!$([MSBuild]::IsOSPlatform('Linux'))">net8;net8-macos10.15;net462</TargetFrameworks>
<Nullable>enable</Nullable>
<GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
<RootNamespace>NAPS2</RootNamespace>
<Title>NAPS2 - Not Another PDF Scanner</Title>
<Product>NAPS2 - Not Another PDF Scanner</Product>
<Configurations>Debug;Release;DebugLang;Release-Msi;Release-Zip</Configurations>
</PropertyGroup>
<Import Project="..\NAPS2.Setup\targets\CommonTargets.targets" />
<Import Project="..\NAPS2.Setup\targets\LibUsers.targets" />
<PropertyGroup Condition="'$(TargetFramework)' == 'net8-macos10.15'">
<DefineConstants>MAC</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release-Msi'">
<DefineConstants>$(DefineConstants);MSI</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release-Zip'">
<DefineConstants>$(DefineConstants);ZIP</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(AddDebugConstant)' == '1'">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\NAPS2.Sdk\NAPS2.Sdk.csproj" />
<ProjectReference Include="..\NAPS2.Escl.Server\NAPS2.Escl.Server.csproj" />
<PackageReference Include="Autofac" Version="8.0.0" />
<PackageReference Include="Ben.Demystifier" Version="0.4.1" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="Eto.Forms" Version="2.8.3" />
<PackageReference Include="Grpc.Tools" Version="2.62.0" PrivateAssets="all" />
<PackageReference Include="IsExternalInit" Version="1.0.3" PrivateAssets="all" />
<PackageReference Include="MimeKitLite" Version="4.4.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.8" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.8" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>NAPS2.Lib.Tests</_Parameter1>
</AssemblyAttribute>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>NAPS2.Lib.WinForms</_Parameter1>
</AssemblyAttribute>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>NAPS2.Lib.Mac</_Parameter1>
</AssemblyAttribute>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>NAPS2.Lib.Gtk</_Parameter1>
</AssemblyAttribute>
<Protobuf Include="**/*.proto" Access="Public" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="Lang\Resources\SettingsResources.*.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\SettingsResources.fr.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\SettingsResources.he.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\SettingsResources.pt-BR.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Update="Lang\Resources\SettingsResources.*.resx">
<DependentUpon>SettingsResources.resx</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Remove="Lang\Resources\MiscResources.*.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\MiscResources.fr.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\MiscResources.he.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\MiscResources.pt-BR.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Update="Lang\Resources\MiscResources.*.resx">
<DependentUpon>MiscResources.resx</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Remove="Lang\Resources\UiStrings.*.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\UiStrings.fr.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\UiStrings.he.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Include="Lang\Resources\UiStrings.pt-BR.resx" Condition="'$(Configuration)' == 'Debug'" />
<EmbeddedResource Update="Lang\Resources\UiStrings.*.resx">
<DependentUpon>UiStrings.resx</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Update="**/*.resx">
<Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource>
</ItemGroup>
<!--
This is a weird pattern and there's probably a better way to do it, but in order to have optional build files:
1. Have two resource files with similar names (so they generate the same class name, "ClientCreds_")
2. Have one resource file reference the optional build files, the other a placeholder build file
3. Conditionally exclude them from the build based on whether the optional files exist
-->
<ItemGroup Condition="Exists('google.credentials.json') and Exists('microsoft.credentials.json')">
<EmbeddedResource Remove="ClientCreds-.resx" />
<Compile Remove="ClientCreds-.Designer.cs" />
</ItemGroup>
<ItemGroup Condition="!Exists('google.credentials.json') or !Exists('microsoft.credentials.json')">
<EmbeddedResource Remove="ClientCreds_.resx" />
<Compile Remove="ClientCreds_.Designer.cs" />
</ItemGroup>
</Project>