コードの品質をチェックするためのビルド ターゲットが 2 つあります。
コンパイルするたびに、次のビルドターゲットを実行します。これには時間がかかりすぎるので、変更されたファイルのみをチェックしてもらいたいです。
言い換えれば、ItemGroup
CppCheckFiles
/から変更されていないファイルをフィルタリングしたいのですLinterFiles
。
<Target Name="CppCheck">
<ItemGroup>
<CppCheckFiles Include="*main.c" />
<CppCheckFiles Include="Source/*/*.c" />
</ItemGroup>
<Message Text="$(Configuration) starting." Importance="High" />
<Exec Command="C:\Cppcheck\cppcheck.exe %(CppCheckFiles.FullPath) --enable=style --template="{file}({line}): error:{severity}-{id}: {message}"" />
</Target>
<Target Name="SPLint">
<ItemGroup>
<LinterFiles Include="*main.c" />
<LinterFiles Include="Source/*/*.c" />
<LinterFiles Include="Source/*/*.h" />
</ItemGroup>
<Message Text="$(Configuration) starting." Importance="High" />
<Exec Command="splintCaller %(LinterFiles.FullPath)" />
</Target>
私は、通常のビルド プロセスがこれを行うことを知っています。