llvm-rc: Print stderr output when calling tools through cmake_llvm_rc
The stored error pipe is output if the program fails. Fixes: #20494
This commit is contained in:
parent
e3185e3d1b
commit
dc93cbb0d8
@ -1697,6 +1697,11 @@ int cmcmd::RunPreprocessor(const std::vector<std::string>& command,
|
||||
}
|
||||
auto status = process.GetStatus();
|
||||
if (!status[0] || status[0]->ExitStatus != 0) {
|
||||
auto errorStream = process.ErrorStream();
|
||||
if (errorStream) {
|
||||
std::cerr << errorStream->rdbuf();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -1765,6 +1770,10 @@ int cmcmd::RunLLVMRC(std::vector<std::string> const& args)
|
||||
}
|
||||
auto status = process.GetStatus();
|
||||
if (!status[0] || status[0]->ExitStatus != 0) {
|
||||
auto errorStream = process.ErrorStream();
|
||||
if (errorStream) {
|
||||
std::cerr << errorStream->rdbuf();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -673,12 +673,11 @@ function(run_llvm_rc)
|
||||
set(RunCMake_TEST_NO_CLEAN 1)
|
||||
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||
|
||||
run_cmake_command(llvm_rc_no_args ${CMAKE_COMMAND} -E cmake_llvm_rc)
|
||||
run_cmake_command(llvm_rc_no_-- ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp ${CMAKE_COMMAND} -E echo "This is a test")
|
||||
run_cmake_command(llvm_rc_empty_preprocessor ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp -- ${CMAKE_COMMAND} -E echo "This is a test")
|
||||
run_cmake_command(llvm_rc_failing_first_command ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp ${CMAKE_COMMAND} -E false -- ${CMAKE_COMMAND} -E echo "This is a test")
|
||||
run_cmake_command(llvm_rc_failing_second_command ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp ${CMAKE_COMMAND} -E echo "This is a test" -- ${CMAKE_COMMAND} -E false )
|
||||
run_cmake_command(llvm_rc_failing_first_command ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp ${CMAKE_COMMAND} -P FailedProgram.cmake -- ${CMAKE_COMMAND} -E echo "This is a test")
|
||||
run_cmake_command(llvm_rc_failing_second_command ${CMAKE_COMMAND} -E cmake_llvm_rc test.tmp ${CMAKE_COMMAND} -E echo "This is a test" -- ${CMAKE_COMMAND} -P FailedProgram.cmake )
|
||||
if(EXISTS ${RunCMake_TEST_BINARY_DIR}/test.tmp)
|
||||
message(SEND_ERROR "${test} - FAILED:\n"
|
||||
"test.tmp was not deleted")
|
||||
|
@ -0,0 +1 @@
|
||||
CMake Error
|
@ -0,0 +1 @@
|
||||
CMake Error
|
Loading…
Reference in New Issue
Block a user