*msvc_dep_prefix* (*CCACHE_MSVC_DEP_PREFIX*)::
This option specifies the prefix of included files output for MSVC compiler.
- The default prefix is "Note: including file:", which is the output for English,
- but if you use a localized compiler, this should be set accordingly.
+ The default prefix is "`Note: including file:`". If you use a localized
+ compiler, this should be set accordingly.
[#config_namespace]
*namespace* (*CCACHE_NAMESPACE*)::
If the depend mode is enabled, ccache will not use the preprocessor at all. The
hash used to identify results in the cache will be based on the direct mode
hash described above plus information about include files read from the
-dependency list generated by MSVC with /showIncludes, or the dependency file
+dependency list generated by MSVC with `/showIncludes`, or the dependency file
generated by other compilers with `-MD` or `-MMD`.
Advantages:
setup where ccache will fall back to the preprocessor mode, which is tolerant
to some types of changes of compiler options and source code changes.
* If -MD is used, the manifest entries will include system header files as
- well, thus slowing down cache hits slightly, just as using -MD slows down
- make. This is also the case for MSVC with /showIncludes.
-* If -MMD is used, the manifest entries will not include system header files,
+ well, thus slowing down cache hits slightly, just as using `-MD` slows down
+ make. This is also the case for MSVC with `/showIncludes`.
+* If `-MMD` is used, the manifest entries will not include system header files,
which means ccache will ignore changes in them.
The depend mode will be disabled if any of the following holds:
* <<config_depend_mode,*depend_mode*>> is false.
* <<config_run_second_cpp,*run_second_cpp*>> is false.
* The compiler is not generating dependencies using `-MD` or `-MMD` (for MSVC,
- /showIncludes is added automatically if not specified by the user).
+ `/showIncludes` is added automatically if not specified by the user).
== Handling of newly created header files
std::vector<std::string_view>
tokenize(std::string_view file_content, std::string_view prefix)
{
- // -showIncludes output is written to stdout together with other messages.
- // Every line of it is '<prefix> <spaces> <file>', prefix is 'Note: including
- // file:' in English but can be localized.
+ // /showIncludes output is written to stdout together with other messages.
+ // Every line of it is "<prefix> <spaces> <file>" where the prefix is "Note:
+ // including file:" in English but can be localized.
std::vector<std::string_view> result;
// This will split at each \r or \n, but that simply means there will be empty