summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2019-01-10 15:44:10 +0100
committerSebastian Holtermann <sebholt@xwmw.org>2019-01-10 16:48:28 +0100
commit5ae69f591965886c5e6a1cde780a87ddc4c4722d (patch)
tree796c25158bfdf938153d962d92c1f793fcf24b67
parent91fa6a472cd262014a74d765b003bb1cc9d7ab8a (diff)
downloadcmake-5ae69f591965886c5e6a1cde780a87ddc4c4722d.tar.gz
Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.
We used to silently disable AUTOMOC/UIC/RCC when no valid Qt version was found. This patch introduces the generation of a warning message in that case. Closes #18732.
-rw-r--r--Source/cmGlobalGenerator.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 71e844ec10..5f7ff0bb98 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1500,6 +1500,31 @@ bool cmGlobalGenerator::QtAutoGen()
auto qtVersion = cmQtAutoGenInitializer::GetQtVersion(target);
// don't do anything if there is no Qt4 or Qt5Core (which contains moc)
if (qtVersion.Major != 4 && qtVersion.Major != 5) {
+ std::string msg = "AUTOGEN: No valid Qt version found for target ";
+ msg += target->GetName();
+ msg += ". ";
+ {
+ std::vector<std::string> lst;
+ if (mocEnabled) {
+ lst.emplace_back("AUTOMOC");
+ }
+ if (uicEnabled) {
+ lst.emplace_back("AUTOUIC");
+ }
+ if (rccEnabled) {
+ lst.emplace_back("AUTORCC");
+ }
+ msg += cmJoin(lst, ", ");
+ }
+ msg += " disabled. ";
+ msg += "Consider adding:\n";
+ if (uicEnabled) {
+ msg += " find_package(Qt5 COMPONENTS Widgets)\n";
+ } else {
+ msg += " find_package(Qt5 COMPONENTS Core)\n";
+ }
+ msg += "to your CMakeLists.txt file.";
+ target->Makefile->IssueMessage(cmake::AUTHOR_WARNING, msg);
continue;
}