From b7f7edfae4d5dc7e7547c3377c73129a9c6fdae0 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 26 Aug 2013 19:51:57 +0200 Subject: [PATCH] de-duplicate code for writing dummy makefiles as a side effect, this fixes the generators that were more bitrotted (nmake and even more mingw). Task-number: QTBUG-30644 #close Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a Reviewed-by: Rafael Roquetto Reviewed-by: Joerg Bornemann --- qmake/generators/makefile.cpp | 18 ++++++++++++++++++ qmake/generators/makefile.h | 1 + qmake/generators/unix/unixmake2.cpp | 13 +------------ qmake/generators/win32/mingw_make.cpp | 8 +------- qmake/generators/win32/msvc_nmake.cpp | 11 +---------- 5 files changed, 22 insertions(+), 29 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 98b5a328e43..f68e2838621 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -2202,6 +2202,24 @@ MakefileGenerator::writeExtraVariables(QTextStream &t) } } +bool +MakefileGenerator::writeDummyMakefile(QTextStream &t) +{ + if (project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) + return false; + t << "QMAKE = " << var("QMAKE_QMAKE") << endl; + const ProStringList &qut = project->values("QMAKE_EXTRA_TARGETS"); + for (ProStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it) + t << *it << " "; + t << "first all clean install distclean uninstall qmake_all:\n\t" + << "@echo \"Some of the required modules (" + << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"\n\t" + << "@echo \"Skipped.\"\n\n"; + writeMakeQmake(t); + t << "FORCE:\n\n"; + return true; +} + bool MakefileGenerator::writeStubMakefile(QTextStream &t) { diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h index 47acc8098fc..09327c599c3 100644 --- a/qmake/generators/makefile.h +++ b/qmake/generators/makefile.h @@ -104,6 +104,7 @@ protected: void writeExtraTargets(QTextStream &t); void writeExtraCompilerTargets(QTextStream &t); void writeExtraCompilerVariables(QTextStream &t); + bool writeDummyMakefile(QTextStream &t); virtual bool writeStubMakefile(QTextStream &t); virtual bool writeMakefile(QTextStream &t); diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index cd6f441472b..2373059f796 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -80,19 +80,8 @@ UnixMakefileGenerator::writeMakefile(QTextStream &t) { writeHeader(t); - if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) { - t << "QMAKE = " << var("QMAKE_QMAKE") << endl; - const ProStringList &qut = project->values("QMAKE_EXTRA_TARGETS"); - for (ProStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it) - t << *it << " "; - t << "first all clean install distclean uninstall qmake_all:\n\t" - << "@echo \"Some of the required modules (" - << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"\n\t" - << "@echo \"Skipped.\"\n\n"; - writeMakeQmake(t); - t << "FORCE:\n\n"; + if (writeDummyMakefile(t)) return true; - } if (project->values("TEMPLATE").first() == "app" || project->values("TEMPLATE").first() == "lib" || diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp index 38e6c56bb56..29b27cb7d75 100644 --- a/qmake/generators/win32/mingw_make.cpp +++ b/qmake/generators/win32/mingw_make.cpp @@ -114,14 +114,8 @@ bool MingwMakefileGenerator::findLibraries() bool MingwMakefileGenerator::writeMakefile(QTextStream &t) { writeHeader(t); - if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) { - t << "all clean:\n\t" - << "@echo \"Some of the required modules (" - << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"\n\t" - << "@echo \"Skipped.\"\n\n"; - writeMakeQmake(t); + if (writeDummyMakefile(t)) return true; - } if(project->first("TEMPLATE") == "app" || project->first("TEMPLATE") == "lib" || diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp index 8af80e572ee..f7b85d36210 100644 --- a/qmake/generators/win32/msvc_nmake.cpp +++ b/qmake/generators/win32/msvc_nmake.cpp @@ -58,17 +58,8 @@ bool NmakeMakefileGenerator::writeMakefile(QTextStream &t) { writeHeader(t); - if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) { - const ProStringList &qut = project->values("QMAKE_EXTRA_TARGETS"); - for (ProStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it) - t << *it << " "; - t << "all first clean:\n\t" - << "@echo \"Some of the required modules (" - << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"\n\t" - << "@echo \"Skipped.\"\n\n"; - writeMakeQmake(t); + if (writeDummyMakefile(t)) return true; - } if(project->first("TEMPLATE") == "app" || project->first("TEMPLATE") == "lib" ||