<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Win10 Release|Win32">
      <Configuration>Win10 Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Win10 Release|x64">
      <Configuration>Win10 Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Win8 Release|Win32">
      <Configuration>Win8 Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Win7 Release|Win32">
      <Configuration>Win7 Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Vista Release|Win32">
      <Configuration>Vista Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Win8 Release|x64">
      <Configuration>Win8 Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Win7 Release|x64">
      <Configuration>Win7 Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Vista Release|x64">
      <Configuration>Vista Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{209e8947-494d-4104-b44b-530cb68a6494}</ProjectGuid>
    <TemplateGuid>{CCDA0DA1-4369-44F1-B6C0-588CA33A5551}</TemplateGuid>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
    <Configuration>Win8 Release</Configuration>
    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
    <SignMode>Off</SignMode>
  </PropertyGroup>
  <PropertyGroup Label="Globals">
    <RootNamespace>viofs</RootNamespace>
    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VisualStudioVersion)' == '11.0'">$(VCTargetsPath11)</VCTargetsPath>
    <WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'" Label="Configuration">
    <TargetVersion>Windows8</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>11</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'" Label="Configuration">
    <TargetVersion>Windows7</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>9</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'" Label="Configuration">
    <TargetVersion>Windows7</TargetVersion>
    <PlatformToolset>v141_xp</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>9</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
    <TargetVersion>Windows10</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>15</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'" Label="Configuration">
    <TargetVersion>Windows8</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>11</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'" Label="Configuration">
    <TargetVersion>Windows7</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>9</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'" Label="Configuration">
    <TargetVersion>Windows7</TargetVersion>
    <PlatformToolset>v141_xp</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>9</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
    <TargetVersion>Windows10</TargetVersion>
    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
    <UseDebugLibraries>false</UseDebugLibraries>
    <KMDF_VERSION_MINOR>15</KMDF_VERSION_MINOR>
  </PropertyGroup>
  <PropertyGroup Label="PropertySheets" Condition="'$(PlatformToolset)'!='v141_xp'">
    <ConfigurationType>Driver</ConfigurationType>
    <DriverType>KMDF</DriverType>
  </PropertyGroup>
  <PropertyGroup Label="PropertySheets" Condition="'$(PlatformToolset)'=='v141_xp'">
    <UseLegacyDDK>true</UseLegacyDDK>
    <ConfigurationType>Application</ConfigurationType>
    <GenerateManifest>false</GenerateManifest>
  </PropertyGroup>
  <Import Project="$(MSBuildProjectDirectory)\viofs.props" />
  <Import Project="$(MSBuildProjectDirectory)\..\..\Tools\Driver.Common.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
    <TargetExt>.sys</TargetExt>
  </PropertyGroup>
  <PropertyGroup>
    <IntDir>$(Platform)\$(Configuration.Replace(' ',''))\</IntDir>
    <OutDir>$(Platform)\$(Configuration.Replace(' ',''))\</OutDir>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
    <Inf2CatWindowsVersionList>Server10_$(DDKPlatform);$(Inf2CatWindowsVersionList)</Inf2CatWindowsVersionList>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <WppEnabled>true</WppEnabled>
      <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)'  == ''">trace.h</WppScanConfigurationData>
      <WppKernelMode>true</WppKernelMode>
      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories);..\shared;..\..\VirtIO;..\..\VirtIO\WDF</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>%(PreprocessorDefinitions);POOL_NX_OPTIN=1</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <AdditionalDependencies>virtiolib.lib;virtiolib_wdf.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'">..\..\VirtIO\objfre_wlh_x86\i386;..\..\VirtIO\WDF\objfre_wlh_x86\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">..\..\VirtIO\objfre_win7_x86\i386;..\..\VirtIO\WDF\objfre_win7_x86\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">..\..\VirtIO\objfre_win8_x86\i386;..\..\VirtIO\WDF\objfre_win8_x86\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">..\..\VirtIO\objfre_win10_x86\i386;..\..\VirtIO\WDF\objfre_win10_x86\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">..\..\VirtIO\objfre_wlh_amd64\amd64;..\..\VirtIO\WDF\objfre_wlh_amd64\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">..\..\VirtIO\objfre_win7_amd64\amd64;..\..\VirtIO\WDF\objfre_win7_amd64\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">..\..\VirtIO\objfre_win8_amd64\amd64;..\..\VirtIO\WDF\objfre_win8_amd64\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalLibraryDirectories Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">..\..\VirtIO\objfre_win10_amd64\amd64;..\..\VirtIO\WDF\objfre_win10_amd64\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(PlatformToolset)'=='v141_xp'">
    <ClCompile>
      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
    </ClCompile>
    <PreBuildEvent>
      <Command>
        tracewpp isrdpc.c power.c read.c virtio.c viofs.c -km -func:TraceEvents(LEVEL,FLAGS,MSG,...) -gen:{km-WdfDefault.tpl}*.tmh -cfgdir:$(LegacyDDKDir)\bin\WppConfig\Rev1
      </Command>
    </PreBuildEvent>
  </ItemDefinitionGroup>
  <ItemGroup>
    <FilesToPackage Include="$(TargetPath)" />
    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="isrdpc.c" />
    <ClCompile Include="power.c" />
    <ClCompile Include="ioctl.c" />
    <ClCompile Include="viofs.c" />
    <ClCompile Include="virtio.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="trace.h" />
    <ClInclude Include="viofs.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="viofs.rc" />
  </ItemGroup>
  <ItemGroup>
    <None Include="viofs.ctl" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
  <PropertyGroup Condition="'$(PlatformToolset)'!='v141_xp'">
    <!-- Works around a bug in WindowsDriver.Common.targets where WdfCoInstaller is spelled with lower-case i -->
    <KmdfCoinstaller>$(WDKContentRoot)redist\wdf\$(DDKPlatform)\WdfCoInstaller$(KMDF_VERSION_MAJOR_STRING)$(KMDF_VERSION_MINOR_STRING).dll</KmdfCoinstaller>
  </PropertyGroup>
  <Target Name="GetDriverProjectAttributes" Returns="@(DriverProjectAttributes)">
    <ItemGroup Condition="'$(PlatformToolset)'=='v141_xp'">
      <DriverProjectAttributes Include="$(ProjectGuid)">
        <DriverType>$(DriverType)</DriverType>
        <PlatformToolset>$(PlatformToolset)</PlatformToolset>
        <IsKernelModeToolset>$(IsKernelModeToolset)</IsKernelModeToolset>
        <IsUserModeToolset>$(IsUserModeToolset)</IsUserModeToolset>
        <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
      </DriverProjectAttributes>
    </ItemGroup>
  </Target>
  <Target Name="GetPackageFiles" Returns="@(FullyQualifiedFilesToPackage)">
    <ItemGroup Condition="'$(PlatformToolset)'=='v141_xp'">
      <FilesToPackage Include="$(LegacyDDKDir)\redist\wdf\$(TargetArch)\WdfCoInstaller01009.dll" />
    </ItemGroup>
    <ConvertToAbsolutePath Paths="@(FilesToPackage)">
      <Output TaskParameter="AbsolutePaths" ItemName="FullyQualifiedFilesToPackage" />
    </ConvertToAbsolutePath>
  </Target>
</Project>