Sunday, April 8, 2018

Enable Visual Studio's C++ Core Check analysis only on project files?

Leave a Comment

I am a big fan of the C++ Core Guidelines and I like to follow them in all projects I work on, so I enabled the following option in my project template in Visual Studio 2017:

The C++ Core Check project option

This tool is great and helps me write better code, but I simply cannot figure out how to make it only analyze my files. Whenever my project has a dependency such as Boost or OpenCV, I will get plastered with a wall of warnings:

C++ Core Check warnings on dependencies

These dependencies are added through vcpkg, however, the same thing happens when adding them manually with C/C++ > General > Additional Include Directories.

Is there any way to only make these warnings apply to project files, and not all included files?

1 Answers

Answers 1

As mentioned in the comments, right after the following section in your .vcxproj near the end of the file:

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />   <ImportGroup Label="ExtensionTargets"> </ImportGroup> 

The problem may be solved by adding the following after the section mentioned above:

<PropertyGroup Condition="'$(Language)'=='C++'">   <CAExcludePath>$(QTDIR)\include;.\GeneratedFiles;$(CAExcludePath)</CAExcludePath> </PropertyGroup> 

Furthermore, if you are using vcpkg, which was the case in my situation, you will need to add the following element to the CAExcludePath:

$(VcpkgRoot)include 

This will ensure that all headers from any packages will not be analyzed.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment