summaryrefslogtreecommitdiff
path: root/wrappers/csharp/EduVpnCommon.csproj
blob: 587601c78333533f571610a1b68fc34b20c9ce6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<Project Sdk="Microsoft.NET.Sdk">

	<PropertyGroup>
		<TargetFramework>netstandard2.0</TargetFramework>
		<LangVersion>8</LangVersion>
		<Nullable>enable</Nullable>
		<PackageId>EduVpn.Common</PackageId>
		<PackageVersion>0.1.0</PackageVersion>
		<Authors />
		<Description>Common EduVpn logic</Description>
		<Product>EduVpn</Product>
	</PropertyGroup>

	<ItemGroup>
		<Compile Remove="EduVpnCommonTests/**" />
		<EmbeddedResource Remove="EduVpnCommonTests/**" />
		<None Remove="EduVpnCommonTests/**" />
	</ItemGroup>

	<!-- Include EXPORTS_LIB_PATH, LIB_NAME definitions -->
	<ImportGroup Label="PropertySheets">
		<Import Project="EduVpnCommon.props" />
	</ImportGroup>

	<Target Name="Build library for current OS" BeforeTargets="PrepareForBuild"
	        Condition="!(Exists('$(EXPORTS_LIB_PATH)/windows/amd64/$(LIB_NAME).dll')
				Or Exists('$(EXPORTS_LIB_PATH)/windows/386/$(LIB_NAME).dll')
				Or Exists('$(EXPORTS_LIB_PATH)/windows/arm/$(LIB_NAME).dll')
				Or Exists('$(EXPORTS_LIB_PATH)/windows/arm64/$(LIB_NAME).dll')
				Or Exists('$(EXPORTS_LIB_PATH)/linux/amd64/lib$(LIB_NAME).so')
				Or Exists('$(EXPORTS_LIB_PATH)/linux/arm/lib$(LIB_NAME).so')
				Or Exists('$(EXPORTS_LIB_PATH)/linux/arm64/lib$(LIB_NAME).so'))">
		<Message Text="!! Shared $(LIB_NAME) library not found, you should build that one first" Importance="high" />
	</Target>

	<ItemGroup>
		<!--
			See https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks#architecture-specific-folders
			and https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
		-->

		<None Condition="Exists('$(EXPORTS_LIB_PATH)/windows/amd64/$(LIB_NAME).dll')"
		      Include="$(EXPORTS_LIB_PATH)/windows/amd64/$(LIB_NAME).dll" Pack="true" PackagePath="runtimes/win-x64/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
		<None Condition="Exists('$(EXPORTS_LIB_PATH)/windows/386/$(LIB_NAME).dll')"
		      Include="$(EXPORTS_LIB_PATH)/windows/386/$(LIB_NAME).dll" Pack="true" PackagePath="runtimes/win-x86/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
		<None Condition="Exists('$(EXPORTS_LIB_PATH)/windows/arm/$(LIB_NAME).dll')"
		      Include="$(EXPORTS_LIB_PATH)/windows/arm/$(LIB_NAME).dll" Pack="true" PackagePath="runtimes/win-arm/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
		<None Condition="Exists('$(EXPORTS_LIB_PATH)/windows/arm64/$(LIB_NAME).dll')"
		      Include="$(EXPORTS_LIB_PATH)/windows/arm64/$(LIB_NAME).dll" Pack="true" PackagePath="runtimes/win-arm64/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>

		<None Condition="Exists('$(EXPORTS_LIB_PATH)/linux/amd64/lib$(LIB_NAME).so')"
		      Include="$(EXPORTS_LIB_PATH)/linux/amd64/lib$(LIB_NAME).so" Pack="true" PackagePath="runtimes/linux-x64/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
		<None Condition="Exists('$(EXPORTS_LIB_PATH)/linux/arm/lib$(LIB_NAME).so')"
		      Include="$(EXPORTS_LIB_PATH)/linux/arm/lib$(LIB_NAME).so" Pack="true" PackagePath="runtimes/linux-arm/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
		<None Condition="Exists('$(EXPORTS_LIB_PATH)/linux/arm64/lib$(LIB_NAME).so')"
		      Include="$(EXPORTS_LIB_PATH)/linux/arm64/lib$(LIB_NAME).so" Pack="true" PackagePath="runtimes/linux-arm64/native/">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</None>
	</ItemGroup>

</Project>