diff options
author | Simon Rozman <simon@rozman.si> | 2020-11-04 15:39:27 +0100 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2020-11-04 16:44:01 +0100 |
commit | b8401ad25b5d6c37266e7fee59c0bc201b07f388 (patch) | |
tree | 912c65422cb7cc9953267da81177dff3e18e4828 | |
parent | api: rename GetVersion to GetRunningDriverVersion (diff) | |
download | wintun-b8401ad25b5d6c37266e7fee59c0bc201b07f388.tar.xz wintun-b8401ad25b5d6c37266e7fee59c0bc201b07f388.zip |
api: upgrade nci.lib and wintun-inf.h building
The additional build steps performed are now attached to the build
process using BeforeTargets/AfterTargets.
Signed-off-by: Simon Rozman <simon@rozman.si>
-rw-r--r-- | api/api.vcxproj | 24 | ||||
-rw-r--r-- | api/extract-driverver.js (renamed from extract-driverver.js) | 0 | ||||
-rw-r--r-- | wintun.vcxproj | 6 |
3 files changed, 15 insertions, 15 deletions
diff --git a/api/api.vcxproj b/api/api.vcxproj index f93551d..2501337 100644 --- a/api/api.vcxproj +++ b/api/api.vcxproj @@ -106,7 +106,7 @@ <PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="Exists('$(OutDir)whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalOptions>/volatile:iso %(AdditionalOptions)</AdditionalOptions> - <AdditionalIncludeDirectories>..\$(Configuration)\$(WintunPlatform);..\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <ResourceCompile> <AdditionalIncludeDirectories>..\$(Configuration)\$(WintunPlatform);..\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> @@ -116,12 +116,6 @@ <PreprocessorDefinitions Condition="'$(Platform)'=='ARM'">_M_ARM=7;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="'$(Platform)'=='ARM64'">_M_ARM64=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> - <CustomBuildStep> - <Command>cl.exe /nologo /DGENERATE_LIB /Ob0 /c /Fo"$(IntDir)nci.obj" /Tc "$(ProjectDir)nci.h" -lib.exe /def:"$(ProjectDir)nci.def" /out:"$(IntDir)nci.lib" /machine:$(PlatformTarget) /nologo "$(IntDir)nci.obj"</Command> - <Outputs>$(IntDir)nci.lib</Outputs> - <Inputs>$(ProjectDir)nci.def;$(ProjectDir)nci.h</Inputs> - </CustomBuildStep> <Link> <DelayLoadDLLs>bcrypt.dll;iphlpapi.dll;nci.dll;newdev.dll;version.dll</DelayLoadDLLs> <AdditionalDependencies>Bcrypt.lib;Crypt32.lib;Cfgmgr32.lib;Iphlpapi.lib;$(IntDir)nci.lib;newdev.lib;ntdll.lib;Setupapi.lib;shlwapi.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> @@ -191,11 +185,23 @@ lib.exe /def:"$(ProjectDir)nci.def" /out:"$(IntDir)nci.lib" /machine:$(PlatformT <Import Project="..\wintun.vcxproj.user" Condition="exists('..\wintun.vcxproj.user')" /> <PropertyGroup> <BuildDependsOn>$(BuildDependsOn);SignTarget</BuildDependsOn> - <CleanDependsOn>CleanSignTarget;$(CleanDependsOn)</CleanDependsOn> + <CleanDependsOn>CleanInfVersion;CleanNci;CleanSignTarget;$(CleanDependsOn)</CleanDependsOn> <SignTargetCommandLine Condition="$(SignMode)=='TestSign'">"$(SignToolPath)" sign /sha1 "$(TestCertificate)" /fd sha256 "$(TargetPath)"</SignTargetCommandLine> <SignTargetCommandLine Condition="$(SignMode)=='ProductionSign'">"$(SignToolPath)" sign /sha1 "$(ProductionCertificate)" /fd sha256 /tr "$(TimeStampServer)" /td sha256 "$(TargetPath)"</SignTargetCommandLine> - <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets> </PropertyGroup> + <Target Name="BuildInfVersion" BeforeTargets="ClCompile" Inputs="$(OutDir)wintun\wintun.inf" Outputs="$(IntDir)wintun-inf.h"> + <Exec Command="cscript.exe /nologo "extract-driverver.js" < "$(OutDir)wintun\wintun.inf" > "$(IntDir)wintun-inf.h"" /> + </Target> + <Target Name="CleanInfVersion"> + <Delete Files="$(IntDir)wintun-inf.h" /> + </Target> + <Target Name="BuildNci" BeforeTargets="Link" Inputs="$(ProjectDir)nci.def;$(ProjectDir)nci.h" Outputs="$(IntDir)nci.lib"> + <Exec Command="cl.exe /nologo /DGENERATE_LIB /Ob0 /c /Fo"$(IntDir)nci.obj" /Tc "nci.h"" /> + <Exec Command="lib.exe /def:"$(ProjectDir)nci.def" /out:"$(IntDir)nci.lib" /machine:$(PlatformTarget) /nologo "$(IntDir)nci.obj"" /> + </Target> + <Target Name="CleanNci"> + <Delete Files="$(IntDir)nci.obj;$(IntDir)nci.lib" /> + </Target> <Target Name="SignTarget" Condition="'$(SignTargetCommandLine)'!=''" Inputs="$(TargetPath)" Outputs="$(IntermediateOutputPath)$(TargetName).sign"> <Exec Command="$(SignTargetCommandLine)" /> <Touch Files="$(IntermediateOutputPath)$(TargetName).sign" AlwaysCreate="true" /> diff --git a/extract-driverver.js b/api/extract-driverver.js index 5ec83ef..5ec83ef 100644 --- a/extract-driverver.js +++ b/api/extract-driverver.js diff --git a/wintun.vcxproj b/wintun.vcxproj index af0e0c3..dbfd824 100644 --- a/wintun.vcxproj +++ b/wintun.vcxproj @@ -139,7 +139,6 @@ <IntDir>$(ConfigurationName)\$(WintunPlatform)\</IntDir> <OutDir>$(ConfigurationName)\$(WintunPlatform)\</OutDir> <RunCodeAnalysis>true</RunCodeAnalysis> - <CustomBuildAfterTargets>StampInf</CustomBuildAfterTargets> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'"> <CodeAnalysisRuleSet>$(WDKContentRoot)CodeAnalysis\DriverMustFixRules.ruleset</CodeAnalysisRuleSet> @@ -169,11 +168,6 @@ <DriverSign> <FileDigestAlgorithm>sha256</FileDigestAlgorithm> </DriverSign> - <CustomBuildStep> - <Command>cscript.exe /nologo "$(ProjectDir)\extract-driverver.js" < "$(IntDir)wintun.inf" > "$(IntDir)wintun-inf.h"</Command> - <Outputs>$(IntDir)wintun-inf.h</Outputs> - <Inputs>$(IntDir)wintun.inf</Inputs> - </CustomBuildStep> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> <Inf> |