From e4232b82e6d285edf9038e2f352df61ab362b6fd Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Wed, 9 Nov 2016 11:05:45 -0500
Subject: QtAutogen: Do not re-generate AUTORCC outputs on every build

Refactoring in commit v3.6.0-rc1~134^2~10 (Autogen: Split out moc file
generation code to dedicated method, 2016-04-18) removed the
unconditional creation of the `<target>_automoc.cpp` file.  Now it is
generated only when `AUTOMOC` is enabled.  However, if this file is not
created then our internal `GenerateAll` setting is enabled on every
build, causing `AUTORCC` to re-generate its file(s) every time.  Fix the
`GenerateAll` setting to be used only for when autogen settings change.
The old logic was left from when we had only automoc.

Closes: #16413
---
 Source/cmQtAutoGenerators.cxx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx
index b66257c..84d00ea 100644
--- a/Source/cmQtAutoGenerators.cxx
+++ b/Source/cmQtAutoGenerators.cxx
@@ -455,8 +455,8 @@ static std::string ReadAll(const std::string& filename)
 
 bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile)
 {
-  if (!cmsys::SystemTools::FileExists(this->OutMocCppFilenameAbs.c_str()) ||
-      (this->OldCompileSettingsStr != this->CurrentCompileSettingsStr)) {
+  // If settings changed everything needs to be re-generated.
+  if (this->OldCompileSettingsStr != this->CurrentCompileSettingsStr) {
     this->GenerateAll = true;
   }
 
-- 
cgit v0.12