Apply source-based-code-coverage only to my own code (rust+c)

I am currently trying to measure our code coverage using the
source-based-code-coverage in a project with rust and c source code.

If I add the sources argument to "cargo cov -- show", I only get the covered c files (no rust files shown at all). This might be a bug in llvm-cov (?).

edit: the above was not true, but the behaviour is very odd. e.g. I cannot just filter by the common parent directory. And if I just filter by the sub directory with the rust code, I also get dependencies and stuff outside of this directory.

I guess, I can adapt the build.rs to only instrument my own c code (That would solve the problem for the c dependencies).

Can I pass the -Zinstrument-coverage only to my own code somehow?
If I add it to the RUSTFLAGS or the [build]-section, it gets applied to all rust sources (including the dependencies, that I do not want to check).

Thanks for your help.

I could adapt my build.rs to add the flags for my own c-files based on some environment variable:

fn coverage_flags(&mut self) -> &mut Self {
        match std::env::var_os("COVERAGE") {
            Some(_) => self.flag("-fprofile-instr-generate")
                        .flag("-fcoverage-mapping"),
            None => self,
        }
    }
}

Ok, I should also check the content of the env variable, but this is the idea for the solution. Now I only need to fix this for the rust-dependencies. I can use cargo rustc, but then I do not check the coverage of my own dependencies, b/c using cargo rustc I can only pass parameters to one package.

After adding --ignore-filename-regex='/.cargo/registry' the report looks good. I think, it would be a cleaner solution to not instrument the rust dependencies in the first place, but this works for me. I do not know yet, how big the profile will be after running our full test suite (or how much this impacts performance).