Add message if syncqt is crashed without any output

If syncqt process crashed due to the incompatibility with the standard
library CMake doesn't produce any useful output. This adds the message
that will give short explanation and possible solutions to fix this
behavior.

Pick-to: 6.5
Task-number: QTBUG-112747
Change-Id: Ib51aec19e3fcacf07515a3d20d72f89753bcdc33
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2023-04-25 15:42:59 +02:00
parent 5ddb5d1fee
commit be4de03b37

View File

@ -232,6 +232,14 @@ function(qt_internal_target_sync_headers target module_headers module_headers_ge
ERROR_VARIABLE syncqt_output
)
if(NOT syncqt_result EQUAL 0)
if(syncqt_output STREQUAL "")
string(JOIN "" syncqt_output "The syncqt process exited with code ${syncqt_result}"
" and without any useful output. This can happen if syncqt crashes due to the"
" incompatibilities with the standard C++ library located by either PATH or"
" LD_LIBRARY_PATH environment variables. Please make sure that PATH or"
" LD_LIBRARY_PATH don't point to the standard libraries different from the one you"
" use for building Qt.")
endif()
message(FATAL_ERROR
"syncqt.cpp failed for module ${module}:\n${syncqt_output}")
endif()