3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 11:41:22 +00:00

api: dotnet: switch to multi-targeting project and modern cmake-dotnet

integration.
This commit is contained in:
Yatao Li 2018-09-10 02:49:22 +08:00
parent 1e11b62bc6
commit c77af6b75f
20 changed files with 438 additions and 1311 deletions

View file

@ -0,0 +1,73 @@
<Project Sdk="Microsoft.Net.Sdk">
<!-- Package metadata properties -->
<PropertyGroup>
<PackageId>Microsoft.Z3</PackageId>
<AssemblyName>Microsoft.Z3</AssemblyName>
<Title>Z3 .NET Interface</Title>
<AssemblyTitle>Z3 .NET Interface</AssemblyTitle>
<AssemblyProduct>Z3</AssemblyProduct>
<Description>.NET Interface to the Z3 Theorem Prover</Description>
<AssemblyDescription>.NET Interface to the Z3 Theorem Prover</AssemblyDescription>
<Copyright>Copyright (C) 2006-2015 Microsoft Corporation</Copyright>
<AssemblyCopyright>Copyright (C) 2006-2015 Microsoft Corporation</AssemblyCopyright>
<Company>Microsoft Corporation</Company>
<AssemblyCompany>Microsoft Corporation</AssemblyCompany>
<Version>@VER_MAJOR@.@VER_MINOR@.@VER_BUILD@.@VER_REVISION@</Version>
<AssemblyVersion>@VER_MAJOR@.@VER_MINOR@.@VER_BUILD@.@VER_REVISION@</AssemblyVersion>
<FileVersion>@VER_MAJOR@.@VER_MINOR@.@VER_BUILD@.@VER_REVISION@</FileVersion>
<AssemblyFileVersion>@VER_MAJOR@.@VER_MINOR@.@VER_BUILD@.@VER_REVISION@</AssemblyFileVersion>
<PackageVersion>${DOTNET_PACKAGE_VERSION}</PackageVersion>
</PropertyGroup>
<!-- Build properties -->
<PropertyGroup>
<!-- Add net40;net35 only if the appropriate SDKs are installed. -->
<!-- Also, in xplat builds, netfx TFMs are not available. -->
<TargetFrameworks>netstandard2.0;net461;net45</TargetFrameworks>
<OutputTypeEx>library</OutputTypeEx>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<NoWarn>1701,1702</NoWarn>
<Warn>4</Warn>
<DefineConstants Condition="'$(TargetFramework)'=='net35'">FRAMEWORK_LT_4</DefineConstants>
</PropertyGroup>
<!-- Compilation items -->
<ItemGroup>
${Z3_DOTNET_COMPILE_ITEMS}
</ItemGroup>
<!-- Legacy .NET framework native library helper routines -->
<ItemGroup>
<Content Include="${CMAKE_CURRENT_LIST_DIR}/Microsoft.Z3.props">
<PackagePath>build</PackagePath>
</Content>
<Content Include="${CMAKE_CURRENT_LIST_DIR}/Microsoft.Z3.targets">
<PackagePath>build</PackagePath>
</Content>
</ItemGroup>
<!-- Native binaries -->
<ItemGroup>
<!-- FIXME configuration fixed to Release -->
<Content Include="${CMAKE_BINARY_DIR}/Release/libz3.dll" Condition="Exists('${CMAKE_BINARY_DIR}/Release/libz3.dll')">
<PackagePath>runtimes\win-x64\native</PackagePath>
</Content>
<!-- TODO XPlat support -->
</ItemGroup>
<!-- NuGet package references -->
<ItemGroup Condition="'$(TargetFramework)'=='net35'">
<PackageReference Include="Code.Contract" Version="1.0.0"/>
</ItemGroup>
</Project>