Autogen: Print moc/uic/rcc output to stdout

The output of moc/uic/rcc used to be discarded unless
the program failed. This lets moc/uic/rcc print their
output to stdout even on success.

Closes #17860
This commit is contained in:
Sebastian Holtermann 2018-04-03 16:53:25 +02:00
parent 1d2c9d8c6d
commit b11e2c80b1
2 changed files with 17 additions and 5 deletions

View File

@ -853,8 +853,12 @@ void cmQtAutoGeneratorMocUic::JobMocT::GenerateMoc(WorkerT& wrk)
ProcessResultT result;
if (wrk.RunProcess(GeneratorT::MOC, result, cmd)) {
// Moc command success
// Print moc output
if (!result.StdOut.empty()) {
wrk.LogInfo(GeneratorT::MOC, result.StdOut);
}
// Notify the generator that a not included file changed (on demand)
if (IncludeString.empty()) {
// Notify the generator that a not included file changed
wrk.Gen().ParallelMocAutoUpdated();
}
} else {
@ -963,9 +967,13 @@ void cmQtAutoGeneratorMocUic::JobUicT::GenerateUic(WorkerT& wrk)
ProcessResultT result;
if (wrk.RunProcess(GeneratorT::UIC, result, cmd)) {
// Success
// Uic command success
// Print uic output
if (!result.StdOut.empty()) {
wrk.LogInfo(GeneratorT::UIC, result.StdOut);
}
} else {
// Command failed
// Uic command failed
{
std::string emsg = "The uic process failed to compile\n ";
emsg += Quoted(SourceFile);

View File

@ -533,10 +533,14 @@ bool cmQtAutoGeneratorRcc::GenerateRcc()
if (Process_->IsFinished()) {
// Process is finished
if (!ProcessResult_.error()) {
// Process success
// Rcc process success
// Print rcc output
if (!ProcessResult_.StdOut.empty()) {
Log().Info(GeneratorT::RCC, ProcessResult_.StdOut);
}
BuildFileChanged_ = true;
} else {
// Process failed
// Rcc process failed
{
std::string emsg = "The rcc process failed to compile\n ";
emsg += Quoted(QrcFile_);