Files
yttrium-virtio-gpu/Tools/Driver.Common.props
T
Yuri Benditovich 563cedc052 netkvm: solve problem building projects when higher WDK was installed
This commit is preparation for build with VS2017, which requires
WDK higher than 15063 to be installed.
When VS2015 and VS2017 coexist and VS2015 is used for drivers
build, but higher WDK(s) are also installed, the files under
"Windows Kits\10\build" are modified causing failure when build runs.
Current commit fixes it by importing Driver.Initial.props prior
to any other imported project. In order to ensure proper order of
importing projects, we remove direct importing of Visual studio
.props files and now each driver package project includes
only its own .props file and Tools\Driver.Common.props file,
which includes Visual Studio .props files and Driver.Initial.props
file in proper order.

Signed-off-by: Yuri Benditovich <[email protected]>
2018-11-09 23:23:31 +02:00

172 lines
8.8 KiB
XML

<!--
***********************************************************************************************
Driver.Common.props
Common property definitions used by all drivers:
$(_NT_TARGET_MAJ)
$(TargetOS)
$(TargetArch)
$(InfArch)
including properties specific to Legacy DDK, when $(UseLegacyDDK) is true
***********************************************************************************************
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="Platform">
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="Driver.Initial.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<!-- Define the legacy DDK directory required for downlevel targets -->
<DDKINSTALLROOT Condition="'$(DDKINSTALLROOT)' == ''">C:\WINDDK\</DDKINSTALLROOT>
<DDKVER Condition="'$(DDKVER)' == ''">7600.16385.1</DDKVER>
<LegacyDDKDir>$(DDKINSTALLROOT)$(DDKVER)</LegacyDDKDir>
</PropertyGroup>
<PropertyGroup Label="Globals">
<Inf2CatUseLocalTime>true</Inf2CatUseLocalTime>
</PropertyGroup>
<!-- $(TargetArch) -->
<PropertyGroup Condition="'$(Platform)'=='Win32'">
<TargetArch>x86</TargetArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)'=='x64'">
<TargetArch>amd64</TargetArch>
</PropertyGroup>
<!-- _NT_TARGET_MAJ is one of the components of driver version (always reflects target OS version) -->
<!-- $(TargetOS) -->
<!-- InfArch turns into the TargetOS inf file directive -->
<PropertyGroup Condition="'$(Configuration)'=='Win10 Release' OR '$(Configuration)'=='Win10 Debug'">
<_NT_TARGET_MAJ>100</_NT_TARGET_MAJ>
<TargetOS>Win10</TargetOS>
<DriverTargetPlatform>Universal</DriverTargetPlatform>
<InfArch>$(TargetArch).10.0</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Win8.1 Release' OR '$(Configuration)'=='Win8.1 Debug'">
<_NT_TARGET_MAJ>63</_NT_TARGET_MAJ>
<TargetOS>Win8.1</TargetOS>
<InfArch>$(TargetArch).6.3</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Win8 Release' OR '$(Configuration)'=='Win8 Debug'">
<_NT_TARGET_MAJ>62</_NT_TARGET_MAJ>
<TargetOS>Win8</TargetOS>
<InfArch>$(TargetArch).6.2</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Win7 Release' OR '$(Configuration)'=='Win7 Debug'">
<_NT_TARGET_MAJ>61</_NT_TARGET_MAJ>
<TargetOS>Win7</TargetOS>
<InfArch>$(TargetArch).6.1</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Vista Release' OR '$(Configuration)'=='Vista Debug'">
<_NT_TARGET_MAJ>60</_NT_TARGET_MAJ>
<TargetOS>Wlh</TargetOS>
<InfArch>$(TargetArch).6.0</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Win2k3 Release' OR '$(Configuration)'=='Win2k3 Debug'">
<_NT_TARGET_MAJ>52</_NT_TARGET_MAJ>
<TargetOS>Wnet</TargetOS>
<InfArch>$(TargetArch).5.2</InfArch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='WinXP Release' OR '$(Configuration)'=='WinXP Debug'">
<_NT_TARGET_MAJ>51</_NT_TARGET_MAJ>
<TargetOS>Wxp</TargetOS>
<InfArch>$(TargetArch).5.1</InfArch>
</PropertyGroup>
<!-- Properties specific to the Legacy DDK -->
<PropertyGroup Condition="'$(UseLegacyDDK)'=='true'">
<ExecutablePath>$(ExecutablePath);$(LegacyDDKDir)\bin\x86;$(LegacyDDKDir)\bin\selfsign</ExecutablePath>
</PropertyGroup>
<!-- Common options to make the legacy DDK toolset produce a kernel driver -->
<ItemDefinitionGroup Condition="'$(UseLegacyDDK)'=='true'">
<!-- Common compiler options -->
<ClCompile>
<AdditionalIncludeDirectories>$(LegacyDDKDir)\inc\ddk;$(LegacyDDKDir)\inc\crt;$(LegacyDDKDir)\inc\api;$(LegacyDDKDir)\inc\wdf\kmdf\1.9;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary />
<FunctionLevelLinking>true</FunctionLevelLinking>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<Optimization>Full</Optimization>
<StructMemberAlignment>8Bytes</StructMemberAlignment>
<TreatWarningAsError>true</TreatWarningAsError>
<StringPooling>true</StringPooling>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<ExceptionHandling />
<AdditionalOptions>/kernel %(AdditionalOptions)</AdditionalOptions>
<CallingConvention>StdCall</CallingConvention>
</ClCompile>
<!-- Compiler options specific to the target platform -->
<ClCompile Condition="'$(Platform)'=='Win32'">
<PreprocessorDefinitions>_WINNT_;_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Condition="'$(Platform)'=='x64'">
<PreprocessorDefinitions>_WINNT_;_WIN64;_AMD64_=1;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Condition="'$(Configuration)'=='Vista Release' OR '$(Configuration)'=='Vista Debug'">
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WINVER=0x0600;NTDDI_VERSION=0x06000100;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Condition="'$(Configuration)'=='Win2k3 Release' OR '$(Configuration)'=='Win2k3 Debug'">
<PreprocessorDefinitions>_WIN32_WINNT=0x0502;WINVER=0x0502;NTDDI_VERSION=0x05020100;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Condition="'$(Configuration)'=='WinXP Release' OR '$(Configuration)'=='WinXP Debug'">
<PreprocessorDefinitions>_WIN32_WINNT=0x0501;WINVER=0x0501;NTDDI_VERSION=0x05010200;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<!-- Common linker options -->
<Link>
<Driver>Driver</Driver>
<Version>6.1</Version>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(LegacyDDKDir)\lib\wdf\kmdf\i386\1.9;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(LegacyDDKDir)\lib\wdf\kmdf\amd64\1.9;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<TargetMachine Condition="'$(Platform)'=='Win32'">MachineX86</TargetMachine>
<TargetMachine Condition="'$(Platform)'=='x64'">MachineX64</TargetMachine>
<AdditionalDependencies>BufferOverflowK.lib;wdfdriverentry.lib;wdfldr.lib;wdm.lib;wdmsec.lib;ntoskrnl.lib;hal.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/kernel /osversion:6.1 %(AdditionalOptions)</AdditionalOptions>
<SubSystem>Native</SubSystem>
<!-- Entry points may need to be overriden for special drivers, e.g. miniports -->
<EntryPointSymbol Condition="'$(Platform)'=='Win32'">FxDriverEntry@8</EntryPointSymbol>
<EntryPointSymbol Condition="'$(Platform)'=='x64'">FxDriverEntry</EntryPointSymbol>
</Link>
<!-- Linker options specific to the target platform -->
<Link Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32' OR '$(Configuration)|$(Platform)'=='Vista Debug|Win32'">
<AdditionalLibraryDirectories>$(LegacyDDKDir)\lib\wlh\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<MinimumRequiredVersion>6.00</MinimumRequiredVersion>
</Link>
<Link Condition="'$(Configuration)|$(Platform)'=='Win2k3 Release|Win32' OR '$(Configuration)|$(Platform)'=='Win2k3 Debug|Win32'">
<AdditionalLibraryDirectories>$(LegacyDDKDir)\lib\wnet\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
<Link Condition="'$(Configuration)|$(Platform)'=='WinXP Release|Win32' OR '$(Configuration)|$(Platform)'=='WinXP Debug|Win32'">
<AdditionalLibraryDirectories>$(LegacyDDKDir)\lib\wxp\i386;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
</Link>
<Link Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64' OR '$(Configuration)|$(Platform)'=='Vista Debug|x64'">
<AdditionalLibraryDirectories>$(LegacyDDKDir)\lib\wlh\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<MinimumRequiredVersion>6.00</MinimumRequiredVersion>
</Link>
<Link Condition="'$(Configuration)|$(Platform)'=='Win2k3 Release|x64' OR '$(Configuration)|$(Platform)'=='Win2k3 Debug|x64'">
<AdditionalLibraryDirectories>$(LegacyDDKDir)\lib\wnet\amd64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
</Link>
</ItemDefinitionGroup>
<!-- WPP settings -->
<ItemDefinitionGroup>
<ClCompile>
<WppModuleName>$(TargetFileName)</WppModuleName>
</ClCompile>
</ItemDefinitionGroup>
<!-- Import vendor specific properties -->
<Import Project="Driver.Vendor.props" />
</Project>