]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat: Rewrite path after -Xclang -include to relative (#1318)
authorJiulong Wang <jiulongw@gmail.com>
Thu, 3 Aug 2023 12:01:23 +0000 (05:01 -0700)
committerGitHub <noreply@github.com>
Thu, 3 Aug 2023 12:01:23 +0000 (14:01 +0200)
cmake may generate both -include and -include-pch. Example:

c++ ... -Xclang -include-pch -Xclang /abs/path/cmake_pch.hxx.pch
        -Xclang -include -Xclang /abs/path/cmake_pch.hxx ...

Both paths needs to be converted to relative path if CCACHE_BASEDIR is
set for better cache hit rate in some CI systems.

src/argprocessing.cpp

index a095b7920c60dbac7bcd7c168477ac2941a2ba9b..279e084e51af2bb2f5e6d1ae0f60e77541dc2f75 100644 (file)
@@ -431,6 +431,7 @@ process_option_arg(const Context& ctx,
   if (arg == "-Xclang" && i + 1 < args.size()
       && (args[i + 1] == "-emit-pch" || args[i + 1] == "-emit-pth"
           || args[i + 1] == "-include-pch" || args[i + 1] == "-include-pth"
+          || args[i + 1] == "-include"
           || args[i + 1] == "-fno-pch-timestamp")) {
     if (compopt_affects_compiler_output(args[i + 1])) {
       state.compiler_only_args.push_back(args[i]);