-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path7z.Libs.native.targets
More file actions
117 lines (90 loc) · 5.45 KB
/
7z.Libs.native.targets
File metadata and controls
117 lines (90 loc) · 5.45 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="utf-8"?><!-- https://github.com/3F/7z.Libs -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- For Native C/C++ projects -->
<PropertyGroup>
<NG7zLibsRootPkg>$(MSBuildThisFileDirectory)..\..\</NG7zLibsRootPkg> <!-- [root]\build\native\7z.Libs.targets -->
<NG7zLibsPathToBin>$(NG7zLibsRootPkg)bin\</NG7zLibsPathToBin>
</PropertyGroup>
<PropertyGroup>
<_UPlatform7zBin>$(Platform)</_UPlatform7zBin>
<_UPlatform7zBin Condition="'$(_UPlatform7zBin)'=='Win32'">x86</_UPlatform7zBin>
<NG7zLibsPathToDll>$(NG7zLibsPathToBin)$(_UPlatform7zBin)\</NG7zLibsPathToDll>
<!-- TODO: headers, .lib and .exp -->
<IncludePath>$(NG7zLibsPathToDll);$(IncludePath)</IncludePath>
<LibraryPath>$(NG7zLibsPathToDll);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup>
<NG7zLibsDir32bit Condition="'$(NG7zLibsDir32bit)'==''">x86</NG7zLibsDir32bit>
<NG7zLibsCopyToOutput Condition="'$(NG7zLibsCopyToOutput)'==''">true</NG7zLibsCopyToOutput>
<NG7zLibsCopyLicense Condition="'$(NG7zLibsCopyLicense)'==''">true</NG7zLibsCopyLicense>
<NG7zLibsLimitToPlatform Condition="'$(NG7zLibsLimitToPlatform)'==''">legacy</NG7zLibsLimitToPlatform>
</PropertyGroup>
<!-- TODO:
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>7z_AS_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>7z.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
-->
<Target Name="CheckNG7zLibsLimitToPlatform" AfterTargets="PrepareForBuild">
<Warning Condition="'$(NG7zLibsLimitToPlatform)'!='legacy' AND '$(NG7zLibsLimitToPlatform)'!='true' AND '$(NG7zLibsLimitToPlatform)'!='false'"
Text="'$(NG7zLibsLimitToPlatform)' is not supported value for `NG7zLibsLimitToPlatform`. Allowed: 'legacy', 'true', 'false'" />
</Target>
<!-- -->
<ItemGroup Condition="'$(NG7zLibsCopyToOutput)'=='true' And Exists('$(NG7zLibsPathToDll)')">
<NG7zLibsLib Include="$(NG7zLibsPathToDll)*.dll" />
</ItemGroup>
<Target Condition="'$(NG7zLibsLimitToPlatform)'=='legacy' AND '$(NG7zLibsCopyToOutput)'=='true'"
Name="NG7zLibs_native_legacy_AfterBuild" AfterTargets="AfterBuild">
<Copy SourceFiles="@(NG7zLibsLib)"
DestinationFolder="$(TargetDir)"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
</Target>
<Target Condition="'$(NG7zLibsLimitToPlatform)'=='legacy' AND '$(NG7zLibsCopyToOutput)'=='true' AND '$(NG7zLibsCopyLicense)'=='true'"
Name="NG7zLibsCopyLicense_native_legacy_AfterBuild" AfterTargets="NG7zLibs_native_legacy_AfterBuild">
<Copy SourceFiles="$(NG7zLibsPathToBin)License.txt"
DestinationFiles="$(TargetDir)\License.7z.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
<Copy SourceFiles="$(NG7zLibsPathToBin)License.7za-7zxa.txt"
DestinationFiles="$(TargetDir)\License.7za-7zxa.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
</Target>
<!-- -->
<ItemGroup Condition="'$(NG7zLibsCopyToOutput)'=='true' And Exists('$(NG7zLibsPathToBin)x86')">
<NG7zLibsLib32 Include="$(NG7zLibsPathToBin)x86\*.dll" />
</ItemGroup>
<ItemGroup Condition="'$(NG7zLibsCopyToOutput)'=='true' And Exists('$(NG7zLibsPathToBin)x64')">
<NG7zLibsLib64 Include="$(NG7zLibsPathToBin)x64\*.dll" />
</ItemGroup>
<Target Condition="'$(NG7zLibsLimitToPlatform)'!='legacy' AND '$(NG7zLibsCopyToOutput)'=='true'"
Name="NG7zLibs_native_AfterBuild" AfterTargets="AfterBuild">
<Copy Condition="'$(NG7zLibsLimitToPlatform)'!='true' OR ('$(NG7zLibsLimitToPlatform)'=='true' AND '$(_UPlatform7zBin)'=='x86')"
SourceFiles="@(NG7zLibsLib32)"
DestinationFolder="$(TargetDir)\$(NG7zLibsDir32bit)"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="true" />
<Copy Condition="'$(NG7zLibsLimitToPlatform)'!='true' OR ('$(NG7zLibsLimitToPlatform)'=='true' AND '$(_UPlatform7zBin)'=='x64')"
SourceFiles="@(NG7zLibsLib64)"
DestinationFolder="$(TargetDir)\x64"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="true" />
</Target>
<Target Condition="'$(NG7zLibsLimitToPlatform)'!='legacy' AND '$(NG7zLibsCopyToOutput)'=='true' AND '$(NG7zLibsCopyLicense)'=='true'"
Name="NG7zLibsCopyLicense_native_AfterBuild" AfterTargets="NG7zLibs_native_AfterBuild">
<Copy Condition="Exists('$(TargetDir)\$(NG7zLibsDir32bit)\')"
SourceFiles="$(NG7zLibsPathToBin)License.txt" DestinationFiles="$(TargetDir)\$(NG7zLibsDir32bit)\License.7z.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
<Copy Condition="Exists('$(TargetDir)\$(NG7zLibsDir32bit)\')"
SourceFiles="$(NG7zLibsPathToBin)License.7za-7zxa.txt" DestinationFiles="$(TargetDir)\$(NG7zLibsDir32bit)\License.7za-7zxa.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
<Copy Condition="Exists('$(TargetDir)\x64\')"
SourceFiles="$(NG7zLibsPathToBin)License.txt" DestinationFiles="$(TargetDir)\x64\License.7z.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
<Copy Condition="Exists('$(TargetDir)\x64\')"
SourceFiles="$(NG7zLibsPathToBin)License.7za-7zxa.txt" DestinationFiles="$(TargetDir)\x64\License.7za-7zxa.txt"
SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
</Target>
</Project>