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
This commit is contained in:
Daniel Stone 2020-04-14 00:42:50 -04:00 committed by Jan Vesely
parent cccdd0579b
commit 24fad7278a

View File

@ -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)