fix paths, also build main library automatically for C# binding

This commit is contained in:
Vinzenz Schroeter 2024-05-13 21:39:16 +02:00
commit 51685f038c
4 changed files with 21 additions and 10 deletions

View file

@ -9,7 +9,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\servicepoint2-binding-cs\ServicePoint2\ServicePoint2.csproj"/>
<ProjectReference Include="..\..\servicepoint2-binding-cs\src\ServicePoint2.csproj"/>
</ItemGroup>
</Project>

View file

@ -1,8 +1,8 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServicePoint2", "ServicePoint2.csproj", "{70EFFA3F-012A-4518-9627-466BEAE4252E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServicePoint2", "src/ServicePoint2.csproj", "{70EFFA3F-012A-4518-9627-466BEAE4252E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "lang-cs", "..\..\examples\lang_cs\lang_cs.csproj", "{DA3B8B6E-993A-47DA-844B-F92AF520FF59}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "lang-cs", "../examples/lang_cs/lang_cs.csproj", "{DA3B8B6E-993A-47DA-844B-F92AF520FF59}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View file

@ -12,6 +12,6 @@ fn main() {
.csharp_namespace("ServicePoint2.BindGen")
.csharp_use_nint_types(true)
.csharp_class_accessibility("public")
.generate_csharp_file("ServicePoint2/BindGen/ServicePoint2.g.cs")
.generate_csharp_file("src/BindGen/ServicePoint2.g.cs")
.unwrap();
}
}

View file

@ -0,0 +1,70 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
<PropertyGroup>
<PackageId>ServicePoint2</PackageId>
<Version>0.2.0</Version>
<Authors>Repository Authors</Authors>
<Company>None</Company>
<Product>ServicePoint2</Product>
<PackageTags>CCCB</PackageTags>
<Description>
C# bindings for the rust crate servicepoint2. You will need a suitable native shared library to use this.
For documentation, see the rust documentation: https://docs.rs/servicepoint2/latest/servicepoint2/.
Note that this library is still in early development. Breaking changes are expected before 1.0 is released.
</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
</PropertyGroup>
<Target Name="BuildLibrary" Condition="'$(Configuration)'=='Release'" BeforeTargets="PrepareForBuild">
<Exec Command="cargo build --manifest-path ../../servicepoint2/Cargo.toml --all-features --release"/>
</Target>
<Target Name="BuildLibrary" Condition="'$(Configuration)'=='Debug'" BeforeTargets="PrepareForBuild">
<Exec Command="cargo build --manifest-path ../../servicepoint2/Cargo.toml --all-features"/>
</Target>
<Target Name="BuildBindings" Condition="'$(Configuration)'=='Release'" BeforeTargets="PrepareForBuild">
<Exec Command="cargo build --release"/>
</Target>
<Target Name="BuildBindings" Condition="'$(Configuration)'=='Debug'" BeforeTargets="PrepareForBuild">
<Exec Command="cargo build"/>
</Target>
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<Content Include="../../servicepoint2/target/debug/libservicepoint2.so" CopyToOutputDirectory="Always">
<Link>libservicepoint2.so</Link>
</Content>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
<Content Include="../../servicepoint2/target/release/libservicepoint2.so" CopyToOutputDirectory="Always">
<Link>libservicepoint2.so</Link>
</Content>
</ItemGroup>
<ItemGroup>
<!-- include link to source code at revision -->
<None Include="../../README.md" Pack="true" PackagePath="\"/>
<!-- add README.md to package -->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
</ItemGroup>
<ItemGroup>
<Content Include="..\build.rs">
<Link>build.rs</Link>
</Content>
</ItemGroup>
</Project>