libclc: Use temporary files rather than a pipe

This is required for using the Ninja backend on Windows, as it passes
commands directly to CreateProcess, and does not allow the shell to
interpret them: https://ninja-build.org/manual.html#ref_rule_command

Using the Visual Studio backend is not possible as attempting to create
a static library target comprised entirely of novel languages not known
to the Visual Studio backend built in to CMake's C++ source will
generate nothing at all.

reviewer: jvesely
Differential Revision: https://reviews.llvm.org/D77165
GitOrigin-RevId: 24fad7278a391c6f8af664f4ac691c1719008a09
diff --git a/cmake/CMakeLLAsmInformation.cmake b/cmake/CMakeLLAsmInformation.cmake
index 73fb28e..218e20a 100644
--- a/cmake/CMakeLLAsmInformation.cmake
+++ b/cmake/CMakeLLAsmInformation.cmake
@@ -1,6 +1,7 @@
 if(NOT CMAKE_LLAsm_COMPILE_OBJECT)
   set(CMAKE_LLAsm_COMPILE_OBJECT
-	  "${CMAKE_LLAsm_PREPROCESSOR} -E -P  <DEFINES> <INCLUDES> <FLAGS> -x cl  <SOURCE> -o - | <CMAKE_LLAsm_COMPILER> -o <OBJECT> ")
+	  "${CMAKE_LLAsm_PREPROCESSOR} -E -P  <DEFINES> <INCLUDES> <FLAGS> -x cl <SOURCE> -o <OBJECT>.temp"
+	  "<CMAKE_LLAsm_COMPILER> -o <OBJECT> <OBJECT>.temp")
 endif()
 
 if(NOT CMAKE_LLAsm_CREATE_STATIC_LIBRARY)