aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2021-07-12 18:44:32 +0200
committerSimon Rozman <simon@rozman.si>2021-07-27 12:22:26 +0200
commit7de5d2e6c8f136592248febcd878fde6567d8eb8 (patch)
treed3cf52c36a37656aedf84edf2940af0e31451ada
parentapi: build with WDK (diff)
downloadwintun-7de5d2e6c8f136592248febcd878fde6567d8eb8.tar.xz
wintun-7de5d2e6c8f136592248febcd878fde6567d8eb8.zip
driver: workaround SDV failure with code analysis
SDV is using own CL.EXE which returns error code 2 when code analysis is turned on. However, we need code analysis results for DVL. While we could use a new "ReleaseSDV" configuration, we don't really require limited code analysis in Release builds, as long as we address all full code analysis warnings in Debug builds. To make DVL happier, an intermediate Release build was injected with code analysis turned on. Signed-off-by: Simon Rozman <simon@rozman.si>
-rw-r--r--driver/driver.vcxproj11
-rw-r--r--wintun.proj5
2 files changed, 9 insertions, 7 deletions
diff --git a/driver/driver.vcxproj b/driver/driver.vcxproj
index 4f7037b..a2ecd00 100644
--- a/driver/driver.vcxproj
+++ b/driver/driver.vcxproj
@@ -79,19 +79,20 @@
<_ProjectFileVersion>15.0.28127.55</_ProjectFileVersion>
<IntDir>..\$(Configuration)\$(WintunPlatform)\$(ProjectName)-intermediate\</IntDir>
<OutDir>..\$(ConfigurationName)\$(WintunPlatform)\</OutDir>
- <RunCodeAnalysis>true</RunCodeAnalysis>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)'=='Release'">
- <CodeAnalysisRuleSet>$(WDKContentRoot)CodeAnalysis\DriverMustFixRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(RunCodeAnalysis)'=='true'">
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <ClCompile>
+ <EnablePREfast>true</EnablePREfast>
+ </ClCompile>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>NDIS_MINIPORT_DRIVER=1;NDIS620_MINIPORT=1;NDIS683_MINIPORT=1;NDIS_WDM=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/volatile:iso %(AdditionalOptions)</AdditionalOptions>
- <EnablePREfast>true</EnablePREfast>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDIS_MINIPORT_DRIVER=1;NDIS620_MINIPORT=1;NDIS683_MINIPORT=1;NDIS_WDM=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/wintun.proj b/wintun.proj
index af42d03..76e746e 100644
--- a/wintun.proj
+++ b/wintun.proj
@@ -57,7 +57,7 @@
<!--
Static Driver Verifier
-->
- <Target Name="SDV" Outputs="driver\sdv\SDV.DVL.xml;$(Configuration)\amd64\wintun-intermediate\vc.nativecodeanalysis.all.xml">
+ <Target Name="SDV" Outputs="driver\sdv\SDV.DVL.xml">
<Exec WorkingDirectory="driver" Command="msbuild.exe driver.vcxproj /t:sdv /p:Inputs=/check:*;Configuration=$(Configuration);Platform=x64 /nologo" />
</Target>
<Target Name="SDVView">
@@ -69,7 +69,8 @@
-->
<Target Name="DVL" DependsOnTargets="SDV"
Outputs="driver\wintun.DVL.XML"
- Inputs="driver\sdv\SDV.DVL.xml;$(Configuration)\amd64\wintun-intermediate\vc.nativecodeanalysis.all.xml">
+ Inputs="driver\sdv\SDV.DVL.xml">
+ <MSBuild Projects="driver\driver.vcxproj" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64;RunCodeAnalysis=true" />
<Exec WorkingDirectory="driver" Command="msbuild.exe driver.vcxproj /t:dvl /p:Configuration=$(Configuration);Platform=x64 /nologo" />
</Target>