diff options
author | Simon Rozman <simon@rozman.si> | 2021-07-12 18:44:32 +0200 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2021-07-27 12:22:26 +0200 |
commit | 7de5d2e6c8f136592248febcd878fde6567d8eb8 (patch) | |
tree | d3cf52c36a37656aedf84edf2940af0e31451ada | |
parent | api: build with WDK (diff) | |
download | wintun-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.vcxproj | 11 | ||||
-rw-r--r-- | wintun.proj | 5 |
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> |