naps2/NAPS2.Lib/NAPS2.Lib.csproj
Ben Olden-Cooligan f4b1f408cd Display OCR errors
2022-12-25 13:47:56 -08:00

97 lines
5.0 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('Linux'))">net6;net462</TargetFrameworks>
<TargetFrameworks Condition="!$([MSBuild]::IsOSPlatform('Linux'))">net6;net6-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>
<Copyright>Copyright 2009, 2012-2020 NAPS2 Contributors; Icons from http://www.fatcow.com/free-icons</Copyright>
<Configurations>Debug;Release;DebugLang</Configurations>
</PropertyGroup>
<Import Project="..\NAPS2.Setup\targets\CommonTargets.targets" />
<Import Project="..\NAPS2.Setup\targets\LibUsers.targets" />
<PropertyGroup Condition="'$(TargetFramework)' == 'net6-macos10.15'">
<DefineConstants>MAC</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\NAPS2.Sdk\NAPS2.Sdk.csproj" />
<PackageReference Include="Autofac" Version="6.4.0" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="MimeKit" Version="1.22.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NLog" Version="4.7.15" />
<PackageReference Include="Eto.Forms" Version="2.7.2" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="6.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>
</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>