]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
fix: Fix Clang/Windows build (#1132)
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>
Thu, 18 Aug 2022 17:15:37 +0000 (20:15 +0300)
committerGitHub <noreply@github.com>
Thu, 18 Aug 2022 17:15:37 +0000 (19:15 +0200)
CMakeLists.txt
src/util/LockFile.cpp

index 8c7b45839c28e7f9840d92bec6055bb620c4ebb1..30b18a513f0f5e2af51084d9edfd4722e0d222e5 100644 (file)
@@ -99,11 +99,13 @@ if(STATIC_LINK)
   if(MSVC)
     set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
   # Link MINGW runtime statically.
-  elseif(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL GNU)
-    list(APPEND CCACHE_EXTRA_LIBS -static-libgcc -static-libstdc++ -static -lwinpthread -dynamic)
-  # Link WIN32 clang libs statically.
-  elseif(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
-    list(APPEND CCACHE_EXTRA_LIBS -Wl,-Bstatic -lc++ -lunwind -Wl,-Bdynamic)
+  elseif(WIN32)
+    if((CMAKE_CXX_COMPILER_ID STREQUAL GNU) OR (CMAKE_CXX_COMPILER_ID STREQUAL Clang))
+      list(APPEND CCACHE_EXTRA_LIBS -static-libgcc -static-libstdc++ -static -lwinpthread -dynamic)
+    endif()
+    if(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+      list(APPEND CCACHE_EXTRA_LIBS -fuse-ld=lld)
+    endif()
   endif()
 endif()
 
index 7dee3c9ea951a86d677b0b870a0e385334797c24..3a0bd7978037d40223824cdaf1a17fcb2ad8043d 100644 (file)
 // Seconds.
 const double k_min_sleep_time = 0.010;
 const double k_max_sleep_time = 0.050;
+#ifndef _WIN32
 const double k_staleness_limit = 2;
 const double k_keep_alive_interval = k_staleness_limit / 4;
 const auto k_keep_alive_interval_ms = std::chrono::milliseconds{
   static_cast<uint64_t>(k_keep_alive_interval * 1000)};
+#endif
 
 namespace {