]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
fix: Detect symlink called clang-cl as clang-cl (#1348)
authorDarkShadow44 <dark.shadow4@web.de>
Thu, 23 Nov 2023 20:26:31 +0000 (21:26 +0100)
committerGitHub <noreply@github.com>
Thu, 23 Nov 2023 20:26:31 +0000 (21:26 +0100)
Fixes #1347.

src/ccache.cpp

index 7d414f3168dc62caee9a61a67d7be920b709769b..3a59aaf212502550465f81a7c3d7b267a5222a91 100644 (file)
@@ -249,6 +249,8 @@ CompilerType
 guess_compiler(std::string_view path)
 {
   std::string compiler_path(path);
+  const auto name_original =
+    util::to_lowercase(Util::remove_extension(Util::base_name(compiler_path)));
 
 #ifndef _WIN32
   // Follow symlinks to the real compiler to learn its name. We're not using
@@ -270,7 +272,8 @@ guess_compiler(std::string_view path)
 
   const auto name =
     util::to_lowercase(Util::remove_extension(Util::base_name(compiler_path)));
-  if (name.find("clang-cl") != std::string_view::npos) {
+  if (name.find("clang-cl") != std::string_view::npos
+      || name_original.find("clang-cl") != std::string_view::npos) {
     return CompilerType::clang_cl;
   } else if (name.find("clang") != std::string_view::npos) {
     return CompilerType::clang;