Conflicts when using multiple SonarCFamily languages in one instance

We would like to use one SonarQube instance to analyze multiple projects. Some projects are C++ only, some are Objective-C/Swift; both kinds of projects have .h files in them. We are currently using the SonarCFamily C/C++ plugin for the C++ projects, which works well.

The problem is that when we tried enabling the SonarCFamily ObjC plugin, it started reporting issues for the C++ projects because it scans their .h files. Similarly we don’t want the C/C++ scanner to report issues for our Objective-C .h files.

We could not find a way to have different scanners run for different projects, and we couldn’t find a way to have the two scanners differentiate between the different kinds of .h files.

It seems like this should be possible, but what is the correct approach?

We are currently running SonarQube 6.7.4.

Hi @Maxwell,

you can set per project properties.

If you want objc files only for instance you can set:


Or, if you want cpp files only:


If you don’t want .h files at all (why would you do that?) you can always drop them from the file suffixes properties.


Is there any way to specify the C++ properties at a global level? The problem is that we already have a ton of C++ projects being scanned. For your approach to work we would first have to update all of their project properties before we can enable the ObjC plugin.

It would be nice if we could make C++ the default configuration and then only ObjC projects have to override it.

Hi @Maxwell,

yes, you can set properties at global level from the administration interface (see screenshot) and override single properties at project level.