diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 87a33a0c8..c36529bf0 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -469,11 +469,21 @@ bool cmSystemTools::RunSingleCommand( } } } + else if(cmsysProcess_GetState(cp) == cmsysProcess_State_Exception) + { + std::cerr << cmsysProcess_GetExceptionString(cp) << "\n"; + result = false; + } else if(cmsysProcess_GetState(cp) == cmsysProcess_State_Error) { std::cerr << cmsysProcess_GetErrorString(cp) << "\n"; result = false; } + else if(cmsysProcess_GetState(cp) == cmsysProcess_State_Expired) + { + std::cerr << "Process terminated due to timeout\n"; + result = false; + } cmsysProcess_Delete(cp);