Commit 737e0980f for llama.cpp
commit 737e0980fef1c2d573afedc8b00f7caf30617652
Author: Pascal <admin@serveurperso.com>
Date: Sat Sep 12 22:47:14 2026 +0200
cmake: leave the timestamp out of precompiled headers on clang (#28816)
Clang stores the modification time of the precompiled header sources
inside the header and refuses the header when they differ. A cached
header restored from another checkout carries the timestamps of that
checkout, so the build fails. The option covers the compilers ccache
treats as MSVC while they are clang underneath, clang-cl and the Intel
LLVM drivers.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 86b09dfd4..4052fa3d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -197,6 +197,16 @@ llama_option_depr(WARNING LLAMA_CURL)
include("cmake/license.cmake")
license_add_file("llama.cpp" "LICENSE")
+#
+# compile options
+#
+
+# clang stores the modification time of the precompiled header sources inside the
+# header and rejects it when they differ, so the timestamp is left out of it
+add_compile_options(
+ "$<$<COMPILE_LANG_AND_ID:C,Clang,IntelLLVM>:SHELL:-Xclang -fno-pch-timestamp>"
+ "$<$<COMPILE_LANG_AND_ID:CXX,Clang,IntelLLVM>:SHELL:-Xclang -fno-pch-timestamp>")
+
#
# 3rd-party
#