aboutsummaryrefslogtreecommitdiffstats
path: root/wintun.proj
diff options
context:
space:
mode:
Diffstat (limited to 'wintun.proj')
-rw-r--r--wintun.proj109
1 files changed, 66 insertions, 43 deletions
diff --git a/wintun.proj b/wintun.proj
index ea24c0d..00eb862 100644
--- a/wintun.proj
+++ b/wintun.proj
@@ -2,83 +2,106 @@
<!--
SPDX-License-Identifier: GPL-2.0
- Copyright (C) 2019 WireGuard LLC. All Rights Reserved.
+ Copyright (C) 2018-2021 WireGuard LLC. All Rights Reserved.
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
+ <PropertyGroup>
+ <Configuration Condition="'$(Configuration)'==''">Release</Configuration>
+ </PropertyGroup>
<!--
General Properties
-->
<Import Project="wintun.props" />
- <Import Project="wintun.vcxproj.user" Condition="exists('wintun.vcxproj.user')" />
+ <Import Project="wintun.props.user" Condition="exists('wintun.props.user')" />
- <Target Name="Build" DependsOnTargets="Driver-x86;Driver-amd64;Driver-arm64" />
- <Target Name="MSM" DependsOnTargets="MSM-x86;MSM-amd64" />
+ <Target Name="Driver" DependsOnTargets="Driver-x86;Driver-amd64;Driver-arm64" />
+ <Target Name="Dll" DependsOnTargets="Dll-x86;Dll-amd64;Dll-arm64" />
<Target Name="Clean">
- <RemoveDir Directories="x86\Release\" />
- <RemoveDir Directories="amd64\Release\" />
- <RemoveDir Directories="arm64\Release\" />
- <RemoveDir Directories="$(SDVDir)" />
- <RemoveDir Directories="$(DistributionDir)" />
- <Delete Files="smvbuild.log;smvstats.txt;wintun.DVL.XML" />
+ <RemoveDir Directories="$(Configuration)\amd64\" />
+ <RemoveDir Directories="$(Configuration)\arm\" />
+ <RemoveDir Directories="$(Configuration)\arm64\" />
+ <RemoveDir Directories="$(Configuration)\x86\" />
+ <RemoveDir Directories="dist\" />
</Target>
- <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
<!--
Driver Building
Note: Use explicit Inputs/Outputs as WindowsDriver.Common.targets triggers driver re-packaging and signing on every invocation.
-->
<PropertyGroup>
- <DriverInputs>atomic.h;undocumented.h;wintun.c;wintun.inf;wintun.props;wintun.rc;wintun.vcxproj;$(DriverInputs)</DriverInputs>
+ <DriverInputs>driver\undocumented.h;driver\wintun.c;driver\wintun.inf;wintun.props;driver\wintun.rc;driver\driver.vcxproj;$(DriverInputs)</DriverInputs>
</PropertyGroup>
<Target Name="Driver-x86"
- Outputs="x86\Release\wintun\wintun.sys;x86\Release\wintun\wintun.inf;x86\Release\wintun\wintun.cat"
+ Outputs="$(Configuration)\x86\driver\wintun.sys;$(Configuration)\x86\driver\wintun.inf;$(Configuration)\x86\driver\wintun.cat"
Inputs="$(DriverInputs)">
- <MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=Release;Platform=Win32" />
+ <MSBuild Projects="driver\driver.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=Win32" />
</Target>
<Target Name="Driver-amd64"
- Outputs="amd64\Release\wintun\wintun.sys;amd64\Release\wintun\wintun.inf;amd64\Release\wintun\wintun.cat"
+ Outputs="$(Configuration)\amd64\driver\wintun.sys;$(Configuration)\amd64\driver\wintun.inf;$(Configuration)\amd64\driver\wintun.cat"
+ Inputs="$(DriverInputs)">
+ <MSBuild Projects="driver\driver.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64" />
+ </Target>
+ <Target Name="Driver-arm"
+ Outputs="$(Configuration)\arm\driver\wintun.sys;$(Configuration)\arm\driver\wintun.inf;$(Configuration)\arm\driver\wintun.cat"
Inputs="$(DriverInputs)">
- <MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=Release;Platform=x64" />
+ <MSBuild Projects="driver\driver.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM" />
</Target>
<Target Name="Driver-arm64"
- Outputs="arm64\Release\wintun\wintun.sys;arm64\Release\wintun\wintun.inf;arm64\Release\wintun\wintun.cat"
+ Outputs="$(Configuration)\arm64\driver\wintun.sys;$(Configuration)\arm64\driver\wintun.inf;$(Configuration)\arm64\driver\wintun.cat"
Inputs="$(DriverInputs)">
- <MSBuild Projects="wintun.vcxproj" Targets="Build" Properties="Configuration=Release;Platform=ARM64" />
+ <MSBuild Projects="driver\driver.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM64" />
</Target>
<!--
- Static Driver Verifier
+ wintun.dll Building
-->
- <Target Name="SDV" Outputs="$(SDVDir)SDV.DVL.xml;amd64\Release\vc.nativecodeanalysis.all.xml">
- <MSBuild Projects="wintun.vcxproj" Targets="sdv" Properties="Inputs=/check:*;Configuration=Release;Platform=x64" />
+ <Target Name="Dll-x86"
+ Outputs="$(Configuration)\x86\wintun.dll"
+ DependsOnTargets="Dll-amd64;Dll-arm64">
+ <MSBuild Projects="setupapihost\setupapihost.vcxproj;api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=Win32" />
</Target>
- <Target Name="SDVView">
- <MSBuild Projects="wintun.vcxproj" Targets="sdv" Properties="Inputs=/view;Configuration=Release;Platform=x64" />
+ <Target Name="Dll-amd64"
+ Outputs="$(Configuration)\amd64\wintun.dll"
+ DependsOnTargets="Dll-arm64">
+ <MSBuild Projects="setupapihost\setupapihost.vcxproj;api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64" />
</Target>
-
- <!--
- Driver Verification Log
- -->
- <Target Name="DVL" DependsOnTargets="SDV"
- Outputs="wintun.DVL.XML"
- Inputs="$(SDVDir)SDV.DVL.xml;amd64\Release\vc.nativecodeanalysis.all.xml">
- <MSBuild Projects="wintun.vcxproj" Targets="dvl" Properties="Configuration=Release;Platform=x64" />
+ <Target Name="Dll-arm"
+ Outputs="$(Configuration)\arm\wintun.dll"
+ DependsOnTargets="Dll-arm64">
+ <MSBuild Projects="setupapihost\setupapihost.vcxproj;api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM" />
+ </Target>
+ <Target Name="Dll-arm64"
+ Outputs="$(Configuration)\arm64\wintun.dll">
+ <MSBuild Projects="setupapihost\setupapihost.vcxproj;api\api.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=ARM64" />
</Target>
<!--
- MSM Building
+ Zip Building
-->
- <Target Name="MSM-x86"
- Outputs="$(DistributionDir)wintun-x86-$(WintunVersionStr).msm">
- <MSBuild Projects="installer\installer.vcxproj" Targets="MSM" Properties="Configuration=Release;Platform=Win32" />
- </Target>
- <Target Name="MSM-amd64"
- Outputs="$(DistributionDir)wintun-amd64-$(WintunVersionStr).msm">
- <MSBuild Projects="installer\installer.vcxproj" Targets="MSM" Properties="Configuration=Release;Platform=x64" />
- </Target>
- <Target Name="MSM-ARM64"
- Outputs="$(DistributionDir)wintun-arm64-$(WintunVersionStr).msm">
- <MSBuild Projects="installer\installer.vcxproj" Targets="MSM" Properties="Configuration=Release;Platform=ARM64" />
+ <PropertyGroup>
+ <ZipTargetPath>dist\wintun-$(WintunVersion).zip</ZipTargetPath>
+ <ZipIntDir>dist\zip-intermediate\</ZipIntDir>
+ </PropertyGroup>
+ <ItemGroup>
+ <ZipFilesSrc Include="prebuilt-binaries-license.txt" /><ZipFilesDst Include="$(ZipIntDir)wintun\LICENSE.txt" />
+ <ZipFilesSrc Include="README.md" /><ZipFilesDst Include="$(ZipIntDir)wintun\README.md" />
+ <ZipFilesSrc Include="api\wintun.h" /><ZipFilesDst Include="$(ZipIntDir)wintun\include\wintun.h" />
+ <ZipFilesSrc Include="$(Configuration)\amd64\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\amd64\wintun.dll" />
+ <ZipFilesSrc Include="$(Configuration)\arm64\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\arm64\wintun.dll" />
+ <ZipFilesSrc Include="$(Configuration)\x86\wintun.dll" /><ZipFilesDst Include="$(ZipIntDir)wintun\bin\x86\wintun.dll" />
+ </ItemGroup>
+ <Target Name="Zip"
+ Inputs="@(ZipFilesSrc)"
+ Outputs="$(ZipTargetPath)"
+ DependsOnTargets="Dll">
+ <RemoveDir Directories="$(ZipIntDir)" />
+ <Copy SourceFiles="@(ZipFilesSrc)" DestinationFiles="@(ZipFilesDst)" />
+ <ZipDirectory DestinationFile="$(ZipTargetPath)" Overwrite="true" SourceDirectory="$(ZipIntDir)" />
+ <RemoveDir Directories="$(ZipIntDir)" />
+ <GetFileHash Files="$(ZipTargetPath)" Algorithm="SHA256" HashEncoding="hex">
+ <Output TaskParameter="Items" ItemName="InstallerLibraryHash" />
+ </GetFileHash>
+ <Message Text="SHA256(&quot;$(ZipTargetPath)&quot;) = @(InstallerLibraryHash->Metadata('FileHash')->ToLower())"/>
</Target>
</Project>