diff options
-rw-r--r-- | mkspecs/features/uic.prf | 2 | ||||
-rw-r--r-- | qmake/doc/src/qmake-manual.qdoc | 5 | ||||
-rw-r--r-- | qmake/generators/makefile.cpp | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf index 1cedce5ae7..a5df0c7e8d 100644 --- a/mkspecs/features/uic.prf +++ b/mkspecs/features/uic.prf @@ -9,7 +9,7 @@ uic.depend_command = $$QMAKE_UIC_DEP -d ${QMAKE_FILE_IN} uic.output = $$UI_DIR/$${QMAKE_MOD_UIC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)} uic.input = FORMS uic.variable_out = GENERATED_FILES -uic.CONFIG += no_link target_predeps dep_lines +uic.CONFIG += no_link target_predeps dep_lines dep_existing_only uic.name = UIC ${QMAKE_FILE_IN} silent:uic.commands = @echo uic ${QMAKE_FILE_IN} && $$uic.commands QMAKE_EXTRA_COMPILERS += uic diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc index 2e2962f86c..9358892ad7 100644 --- a/qmake/doc/src/qmake-manual.qdoc +++ b/qmake/doc/src/qmake-manual.qdoc @@ -4729,6 +4729,11 @@ \li The dependencies for the output only get generated from the depends member and from nowhere else. \row + \li dep_existing_only + \li Every dependency that is a result of .depend_command is checked for + existence. Non-existing dependencies are ignored. + This value was introduced in Qt 5.12.6. + \row \li dep_lines \li The output from the .depend_command is interpreted to be one file per line. The default is to split on whitespace and is maintained diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 11623cd147..fcd0ccd43e 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1984,6 +1984,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) } t << endl; } + const bool existingDepsOnly = config.contains("dep_existing_only"); QStringList tmp_dep = project->values(ProKey(*it + ".depends")).toQStringList(); if (config.indexOf("combine") != -1) { if (tmp_out.contains(QRegExp("(^|[^$])\\$\\{QMAKE_(?!VAR_)"))) { @@ -2025,6 +2026,8 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) warn_msg(WarnDeprecated, ".depend_command for extra compiler %s" " prints paths relative to source directory", (*it).toLatin1().constData()); + else if (existingDepsOnly) + file.clear(); else file = absFile; // fallback for generated resources } else { @@ -2110,6 +2113,8 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) warn_msg(WarnDeprecated, ".depend_command for extra compiler %s" " prints paths relative to source directory", (*it).toLatin1().constData()); + else if (existingDepsOnly) + file.clear(); else file = absFile; // fallback for generated resources } else { |