summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/resources.prf2
-rw-r--r--qmake/generators/makefile.cpp23
-rw-r--r--qmake/generators/makefile.h3
3 files changed, 19 insertions, 9 deletions
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index 7fbd16d3bd..ab9761a83c 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -13,7 +13,7 @@ qtEnsurePluginResourcesCpp()
rcc.input = RESOURCES
rcc.name = RCC ${QMAKE_FILE_IN}
rcc.depend_command = $$QMAKE_RCC_DEP -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
-rcc.CONFIG += add_inputs_as_makefile_deps dep_lines
+rcc.CONFIG += add_inputs_as_makefile_deps dep_lines remove_no_exist
!resources_big|ltcg|macx-xcode|wasm|contains(TEMPLATE, "vc.*") {
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index cc985a878b..11d2f0ff7d 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -297,9 +297,9 @@ MakefileGenerator::findFilesInVPATH(ProStringList l, uchar flags, const QString
debug_msg(1, "%s:%d Failure to find %s in vpath (%s)",
__FILE__, __LINE__, val.toLatin1().constData(),
vpath.join(QString("::")).toLatin1().constData());
- if(flags & VPATH_RemoveMissingFiles)
+ if (flags & VPATH_RemoveMissingFiles)
remove_file = true;
- else if(flags & VPATH_WarnMissingFiles)
+ if (flags & VPATH_WarnMissingFiles)
warn_msg(WarnLogic, "Failure to find: %s", val.toLatin1().constData());
} else {
l.removeAt(val_it);
@@ -315,9 +315,9 @@ MakefileGenerator::findFilesInVPATH(ProStringList l, uchar flags, const QString
debug_msg(1, "%s:%d Cannot match %s%s, as %s does not exist.",
__FILE__, __LINE__, real_dir.toLatin1().constData(),
regex.toLatin1().constData(), real_dir.toLatin1().constData());
- if(flags & VPATH_RemoveMissingFiles)
+ if (flags & VPATH_RemoveMissingFiles)
remove_file = true;
- else if(flags & VPATH_WarnMissingFiles)
+ if (flags & VPATH_WarnMissingFiles)
warn_msg(WarnLogic, "Failure to find: %s", val.toLatin1().constData());
}
}
@@ -338,9 +338,14 @@ MakefileGenerator::initCompiler(const MakefileGenerator::Compiler &comp)
// find all the relevant file inputs
if(!init_compiler_already.contains(comp.variable_in)) {
init_compiler_already.insert(comp.variable_in, true);
- if(!noIO())
- l = findFilesInVPATH(l, (comp.flags & Compiler::CompilerRemoveNoExist) ?
- VPATH_RemoveMissingFiles : VPATH_WarnMissingFiles, "VPATH_" + comp.variable_in);
+ if(!noIO()) {
+ uchar flags = 0;
+ if (comp.flags & Compiler::CompilerRemoveNoExist)
+ flags |= VPATH_RemoveMissingFiles;
+ if (comp.flags & Compiler::CompilerWarnNoExist)
+ flags |= VPATH_WarnMissingFiles;
+ l = findFilesInVPATH(l, flags, "VPATH_" + comp.variable_in);
+ }
}
}
@@ -613,6 +618,10 @@ MakefileGenerator::init()
const ProStringList &config = v[ProKey(*it + ".CONFIG")];
if (config.indexOf("ignore_no_exist") != -1)
compiler.flags |= Compiler::CompilerRemoveNoExist;
+ else
+ compiler.flags |= Compiler::CompilerWarnNoExist;
+ if (config.indexOf("remove_no_exist") != -1)
+ compiler.flags |= Compiler::CompilerRemoveNoExist;
if (config.indexOf("no_dependencies") != -1)
compiler.flags |= Compiler::CompilerNoCheckDeps;
if (config.indexOf("add_inputs_as_makefile_deps") != -1)
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index 854defb1a0..6ab4ad505d 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -145,7 +145,8 @@ protected:
CompilerBuiltin = 0x01,
CompilerNoCheckDeps = 0x02,
CompilerRemoveNoExist = 0x04,
- CompilerAddInputsAsMakefileDeps = 0x08
+ CompilerWarnNoExist = 0x08,
+ CompilerAddInputsAsMakefileDeps = 0x10
};
uint flags, type;
};