/Fd is to specify the file name of output PDB. But currently ccache only
supports /Z7 which doesn't generate PDB at compile time.
/FS forces writes to PDB to be serialized through MSPDBSRV.EXE.
It shouldn't affect generated files and it has no effect for /Z7.
/MP enables /FS. It creates multiple compiler instances and simultaneously
compile multiple source files which is not supported by ccache.
return Statistic::none;
}
+ if (config.is_compiler_group_msvc() && util::starts_with(arg, "-Fd")) {
+ state.compiler_only_args_no_hash.push_back(args[i]);
+ return Statistic::none;
+ }
+
+ if (config.is_compiler_group_msvc()
+ && (util::starts_with(arg, "-MP") || arg == "-FS")) {
+ state.compiler_only_args_no_hash.push_back(args[i]);
+ return Statistic::none;
+ }
+
// These options require special handling, because they behave differently
// with gcc -E, when the output file is not specified.
if ((arg == "-MD" || arg == "-MMD") && !config.is_compiler_group_msvc()) {