Add binary redistributable project. (#2291)

* Add binary redistributable project.

* Add VC++ Redist

* Exclude from build configurations.

* wip

* Exclude from Analyze builds.

* nit

* wip

* remove printk.sys/pdb
This commit is contained in:
Gianni Trevisiol 2023-04-18 20:44:18 -07:00 коммит произвёл GitHub
Родитель f64dd9c15c
Коммит 105f4d4b2b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
5 изменённых файлов: 215 добавлений и 14 удалений

14
.github/workflows/reusable-build.yml поставляемый
Просмотреть файл

@ -212,7 +212,19 @@ jobs:
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: ebpf-for-windows - NuGet package (${{inputs.build_artifact}}_${{env.BUILD_CONFIGURATION}})
path: ${{github.workspace}}/${{env.BUILD_PLATFORM}}/${{env.BUILD_CONFIGURATION}}/*.nupkg
path: ${{github.workspace}}/${{env.BUILD_PLATFORM}}/${{env.BUILD_CONFIGURATION}}/eBPF-for-Windows.*.nupkg
- name: Build the NuGet Redist package
if: inputs.build_nuget == true && matrix.configurations == 'Release' && steps.skip_check.outputs.should_skip != 'true'
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform=${{env.BUILD_PLATFORM}} ${{env.SOLUTION_FILE_PATH}} ${{env.BUILD_OPTIONS}} /t:tools\redist-package
- name: Upload the NuGet Redist package
if: inputs.build_nuget == true && matrix.configurations == 'Release' && steps.skip_check.outputs.should_skip != 'true'
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: ebpf-for-windows - NuGet Redist package (${{inputs.build_artifact}}_${{env.BUILD_CONFIGURATION}})
path: ${{github.workspace}}/${{env.BUILD_PLATFORM}}/${{env.BUILD_CONFIGURATION}}/eBPF-for-Windows-Redist.*.nupkg
- name: Perform CodeQL Analysis
if: inputs.build_codeql == true && steps.skip_check.outputs.should_skip != 'true'

Просмотреть файл

@ -182,6 +182,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ebpf-for-windows", "install
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ebpf_stress_tests_um", "tests\stress\um\ebpf_stress_tests_um.vcxproj", "{E51A27F5-A1D5-40DA-A09B-850203D6B13D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "redist-package", "tools\redist-package\redist-package.vcxproj", "{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
@ -228,9 +230,9 @@ Global
{675B59F8-089E-40B5-8388-56254447CFA3}.MinSizeRel|x64.ActiveCfg = Debug|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.MinSizeRel|x64.Build.0 = Debug|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.MinSizeRel|x64.Deploy.0 = Debug|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.ActiveCfg = Release|ARM64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.Build.0 = Release|ARM64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.Deploy.0 = Release|ARM64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.ActiveCfg = Release|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.Build.0 = Release|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|ARM64.Deploy.0 = Release|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|x64.ActiveCfg = Release|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|x64.Build.0 = Release|x64
{675B59F8-089E-40B5-8388-56254447CFA3}.Release|x64.Deploy.0 = Release|x64
@ -381,7 +383,7 @@ Global
{21236F4F-341C-454F-B55B-C653897AB3E8}.RelWithDebInfo|ARM64.Build.0 = Debug|x64
{21236F4F-341C-454F-B55B-C653897AB3E8}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{21236F4F-341C-454F-B55B-C653897AB3E8}.RelWithDebInfo|x64.Build.0 = Release|x64
{B4AD72E3-754E-40CA-9CEA-D3F2C9170E51}.Debug|ARM64.ActiveCfg = Debug|Win32
{B4AD72E3-754E-40CA-9CEA-D3F2C9170E51}.Debug|ARM64.ActiveCfg = Debug|x64
{B4AD72E3-754E-40CA-9CEA-D3F2C9170E51}.Debug|x64.ActiveCfg = Debug|x64
{B4AD72E3-754E-40CA-9CEA-D3F2C9170E51}.Debug|x64.Build.0 = Debug|x64
{B4AD72E3-754E-40CA-9CEA-D3F2C9170E51}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -419,7 +421,7 @@ Global
{231EE32B-EBA4-4FE5-A55B-DB18F539D403}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{231EE32B-EBA4-4FE5-A55B-DB18F539D403}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{231EE32B-EBA4-4FE5-A55B-DB18F539D403}.RelWithDebInfo|x64.Build.0 = Release|x64
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.Debug|ARM64.ActiveCfg = Debug|Win32
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.Debug|ARM64.ActiveCfg = Debug|x64
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.Debug|x64.ActiveCfg = Debug|x64
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.Debug|x64.Build.0 = Debug|x64
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -437,7 +439,7 @@ Global
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{DDADF35D-C02C-40BB-9F95-5BF8BFDB51CE}.RelWithDebInfo|x64.Build.0 = Release|x64
{DB2AF239-5251-43F1-BABF-11E707DC5523}.Debug|ARM64.ActiveCfg = Debug|Win32
{DB2AF239-5251-43F1-BABF-11E707DC5523}.Debug|ARM64.ActiveCfg = Debug|x64
{DB2AF239-5251-43F1-BABF-11E707DC5523}.Debug|x64.ActiveCfg = Debug|x64
{DB2AF239-5251-43F1-BABF-11E707DC5523}.Debug|x64.Build.0 = Debug|x64
{DB2AF239-5251-43F1-BABF-11E707DC5523}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -455,7 +457,7 @@ Global
{DB2AF239-5251-43F1-BABF-11E707DC5523}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{DB2AF239-5251-43F1-BABF-11E707DC5523}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{DB2AF239-5251-43F1-BABF-11E707DC5523}.RelWithDebInfo|x64.Build.0 = Release|x64
{C26CB6A9-158C-4A9E-A243-755DDD98E5FE}.Debug|ARM64.ActiveCfg = Debug|Win32
{C26CB6A9-158C-4A9E-A243-755DDD98E5FE}.Debug|ARM64.ActiveCfg = Debug|x64
{C26CB6A9-158C-4A9E-A243-755DDD98E5FE}.Debug|x64.ActiveCfg = Debug|x64
{C26CB6A9-158C-4A9E-A243-755DDD98E5FE}.Debug|x64.Build.0 = Debug|x64
{C26CB6A9-158C-4A9E-A243-755DDD98E5FE}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -605,7 +607,7 @@ Global
{AF85C549-57CC-40A5-BDFC-DCF1998DE80F}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{AF85C549-57CC-40A5-BDFC-DCF1998DE80F}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{AF85C549-57CC-40A5-BDFC-DCF1998DE80F}.RelWithDebInfo|x64.Build.0 = Release|x64
{1423245D-0249-40FC-A077-FF7780ACFE3F}.Debug|ARM64.ActiveCfg = Debug|Win32
{1423245D-0249-40FC-A077-FF7780ACFE3F}.Debug|ARM64.ActiveCfg = Debug|x64
{1423245D-0249-40FC-A077-FF7780ACFE3F}.Debug|x64.ActiveCfg = Debug|x64
{1423245D-0249-40FC-A077-FF7780ACFE3F}.Debug|x64.Build.0 = Debug|x64
{1423245D-0249-40FC-A077-FF7780ACFE3F}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -717,7 +719,7 @@ Global
{A4037E5D-B00C-4AF1-9398-76B3ECE95F62}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{A4037E5D-B00C-4AF1-9398-76B3ECE95F62}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{A4037E5D-B00C-4AF1-9398-76B3ECE95F62}.RelWithDebInfo|x64.Build.0 = Release|x64
{370E7D53-C97F-4077-A3D5-620C4FD87EED}.Debug|ARM64.ActiveCfg = Debug|Win32
{370E7D53-C97F-4077-A3D5-620C4FD87EED}.Debug|ARM64.ActiveCfg = Debug|x64
{370E7D53-C97F-4077-A3D5-620C4FD87EED}.Debug|x64.ActiveCfg = Debug|x64
{370E7D53-C97F-4077-A3D5-620C4FD87EED}.Debug|x64.Build.0 = Debug|x64
{370E7D53-C97F-4077-A3D5-620C4FD87EED}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -759,7 +761,7 @@ Global
{C8D46543-5AE5-4E66-B9CE-8B84588B1C9E}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{C8D46543-5AE5-4E66-B9CE-8B84588B1C9E}.RelWithDebInfo|x64.Build.0 = Release|x64
{C8D46543-5AE5-4E66-B9CE-8B84588B1C9E}.RelWithDebInfo|x64.Deploy.0 = Release|x64
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.Debug|ARM64.ActiveCfg = Debug|Win32
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.Debug|ARM64.ActiveCfg = Debug|x64
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.Debug|x64.ActiveCfg = Debug|x64
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.Debug|x64.Build.0 = Debug|x64
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -777,7 +779,7 @@ Global
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{7358D8BD-4123-4B2D-86C0-87F6BA6CED76}.RelWithDebInfo|x64.Build.0 = Release|x64
{724EB55A-CCFC-4662-92E3-B664CDA365E7}.Debug|ARM64.ActiveCfg = Debug|Win32
{724EB55A-CCFC-4662-92E3-B664CDA365E7}.Debug|ARM64.ActiveCfg = Debug|x64
{724EB55A-CCFC-4662-92E3-B664CDA365E7}.Debug|x64.ActiveCfg = Debug|x64
{724EB55A-CCFC-4662-92E3-B664CDA365E7}.Debug|x64.Build.0 = Debug|x64
{724EB55A-CCFC-4662-92E3-B664CDA365E7}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -969,7 +971,7 @@ Global
{8DD6577A-CBBE-43FE-9FC3-E42CB013CC60}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{8DD6577A-CBBE-43FE-9FC3-E42CB013CC60}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{8DD6577A-CBBE-43FE-9FC3-E42CB013CC60}.RelWithDebInfo|x64.Build.0 = Release|x64
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|ARM64.ActiveCfg = Debug|Win32
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|ARM64.ActiveCfg = Debug|x64
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|x64.ActiveCfg = Debug|x64
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.FuzzerDebug|ARM64.Build.0 = Debug|x64
@ -986,7 +988,7 @@ Global
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x64.Build.0 = Release|x64
{FE4FEA79-BFBB-4822-ABCB-0D3BEEA240A7}.Debug|ARM64.ActiveCfg = Debug|Win32
{FE4FEA79-BFBB-4822-ABCB-0D3BEEA240A7}.Debug|ARM64.ActiveCfg = Debug|x64
{FE4FEA79-BFBB-4822-ABCB-0D3BEEA240A7}.Debug|x64.ActiveCfg = Debug|x64
{FE4FEA79-BFBB-4822-ABCB-0D3BEEA240A7}.Debug|x64.Build.0 = Debug|x64
{FE4FEA79-BFBB-4822-ABCB-0D3BEEA240A7}.FuzzerDebug|ARM64.ActiveCfg = Debug|x64
@ -1243,6 +1245,19 @@ Global
{E51A27F5-A1D5-40DA-A09B-850203D6B13D}.RelWithDebInfo|ARM64.Build.0 = Release|x64
{E51A27F5-A1D5-40DA-A09B-850203D6B13D}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{E51A27F5-A1D5-40DA-A09B-850203D6B13D}.RelWithDebInfo|x64.Build.0 = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.Debug|ARM64.ActiveCfg = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.Debug|x64.ActiveCfg = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.MinSizeRel|ARM64.ActiveCfg = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.MinSizeRel|ARM64.Build.0 = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.MinSizeRel|x64.ActiveCfg = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.MinSizeRel|x64.Build.0 = Debug|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.Release|ARM64.ActiveCfg = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.Release|x64.ActiveCfg = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.Release|x64.Build.0 = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.RelWithDebInfo|ARM64.ActiveCfg = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.RelWithDebInfo|ARM64.Build.0 = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}.RelWithDebInfo|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1306,6 +1321,7 @@ Global
{A71919AE-7F38-4515-AEB7-166DA98089D1} = {E184CBC2-4B62-499F-8A4A-F15A5A182259}
{FE9B26CD-E885-4881-90D7-A096131C5C4A} = {8CA48236-9B24-4841-B3E2-496C31ABBB23}
{E51A27F5-A1D5-40DA-A09B-850203D6B13D} = {492C9B22-9237-4996-9E33-CA14D3533616}
{A08B9A8B-FCD0-4E93-8811-D60EED639BE0} = {B09749EC-3D14-414B-BA9B-CD20E218DC84}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3D5F862D-74C6-4357-9F95-0B152E33B7B8}

Просмотреть файл

@ -0,0 +1,3 @@
# eBPF for Windows NuGet Binary Redist-Package
This NuGet package includes a compact eBPF redistributable package.

Просмотреть файл

@ -0,0 +1,47 @@
<?xml version="1.0"?>
<!-- Copyright (c) Microsoft Corporation
SPDX-License-Identifier: MIT
-->
<package>
<metadata>
<title>eBPF for Windows Redist</title>
<id>eBPF-for-Windows-Redist</id>
<version>{version}</version>
<authors>eBPF for Windows Contributors</authors>
<owners>eBPF for Windows Contributors</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Microsoft/ebpf-for-windows</projectUrl>
<repository type="git" url="https://github.com/microsoft/ebpf-for-windows.git"/>
<tags>resdist redistributable ebpf</tags>
<description>eBPF for Windows Redistributable</description>
<readme>README.md</readme>
</metadata>
<files>
<file src="..\..\tools\redist-package\README.md" target="."/>
<file src="bpf2c.exe" target="package\bin"/>
<file src="bpf2c.pdb" target="package\bin"/>
<file src="bpftool.exe" target="package\bin"/>
<file src="bpftool.pdb" target="package\bin"/>
<file src="ebpfapi.dll" target="package\bin"/>
<file src="ebpfapi.pdb" target="package\bin"/>
<file src="ebpfnetsh.dll" target="package\bin"/>
<file src="ebpfnetsh.pdb" target="package\bin"/>
<file src="ebpfforwindows.wprp" target="package\bin"/>
<file src="eBPFCore.sys" target="package\bin\drivers"/>
<file src="eBPFCore.pdb" target="package\bin\drivers"/>
<file src="NetEbpfExt.sys" target="package\bin\drivers"/>
<file src="NetEbpfExt.pdb" target="package\bin\drivers"/>
<!--Temporary inclusion of the VC++ Redist-->
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\concrt140.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\msvcp140.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\msvcp140_1.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\msvcp140_2.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\msvcp140_atomic_wait.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\msvcp140_codecvt_ids.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\vccorlib140.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\vcruntime140.dll" target="package\bin"/>
<file src="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\vcruntime140_1.dll" target="package\bin"/>
</files>
</package>

Просмотреть файл

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft Corporation
SPDX-License-Identifier: MIT
-->
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{A08B9A8B-FCD0-4E93-8811-D60EED639BE0}</ProjectGuid>
<RootNamespace>redist-package</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<!-- In accordance to what is defined in sample.vcxproj, the build is disabled for the 'Analysis' CI/CD build, as it does not generate the printk.sys artifact. -->
<ItemGroup Condition="'$(Analysis)'==''">
<CustomBuild Include="ebpf-for-windows-redist.nuspec.in">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\redist-package\ebpf-for-windows-redist.nuspec.in -OutputFile $(OutDir)ebpf-for-windows-redist.nuspec
NuGet.exe pack $(OutDir)ebpf-for-windows-redist.nuspec -OutputDirectory $(OutDir)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">eBPF-for-Windows-Redist.2023.5.22.nupkg</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">eBPF-for-Windows-Redist.2023.5.22.nupkg</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">powershell -NonInteractive -ExecutionPolicy Unrestricted $(SolutionDir)scripts\Set-Version.ps1 -InputFile $(SolutionDir)tools\redist-package\ebpf-for-windows-redist.nuspec.in -OutputFile $(OutDir)ebpf-for-windows-redist.nuspec
NuGet.exe pack $(OutDir)ebpf-for-windows-redist.nuspec -OutputDirectory $(OutDir)</Command>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ebpfapi\ebpfapi.vcxproj">
<Project>{75fe223a-3e45-4b0e-a2e8-04285e52e440}</Project>
</ProjectReference>
<ProjectReference Include="..\..\ebpfcore\EbpfCore.vcxproj">
<Project>{97e52abb-2f1e-4ad2-aefd-6eb7fdc0a41d}</Project>
</ProjectReference>
<ProjectReference Include="..\..\netebpfext\sys\netebpfext.vcxproj">
<Project>{55499e36-37d4-4f86-b694-9f2990315758}</Project>
</ProjectReference>
<ProjectReference Include="..\..\tests\sample\sample.vcxproj">
<Project>{b4ad72e3-754e-40ca-9cea-d3f2c9170e51}</Project>
</ProjectReference>
<ProjectReference Include="..\bpf2c\bpf2c.vcxproj">
<Project>{69b97e52-18dc-434e-a6e4-4c0f3e88c44a}</Project>
</ProjectReference>
<ProjectReference Include="..\bpftool\bpftool.vcxproj">
<Project>{ca179b38-ebf5-4371-b830-73486e35250b}</Project>
</ProjectReference>
<ProjectReference Include="..\netsh\ebpfnetsh.vcxproj">
<Project>{74803f80-a8bd-4a03-862b-fa96648a9bf6}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>