qmake: Add .qmake.stash/super to QMAKE_DISTCLEAN when owned by project
Running 'make distclean' should remove all files generated by qmake, including .qmake.stash/super. These files are considered owned by a particular project (and hence a candidate for distclean), if it lives in the same directory as the output dir of the project. Task-number: QTBUG-42678 Change-Id: I224e9bac039eeacb6561e18acc7f8e867da5dab8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>bb10
parent
b1652b8697
commit
0f88c5c1b9
|
|
@ -444,6 +444,22 @@ MakefileGenerator::init()
|
|||
|
||||
setSystemIncludes(v["QMAKE_DEFAULT_INCDIRS"]);
|
||||
|
||||
const char * const cacheKeys[] = { "_QMAKE_STASH_", "_QMAKE_SUPER_CACHE_", 0 };
|
||||
for (int i = 0; cacheKeys[i]; ++i) {
|
||||
if (v[cacheKeys[i]].isEmpty())
|
||||
continue;
|
||||
const ProString &file = v[cacheKeys[i]].first();
|
||||
if (file.isEmpty())
|
||||
continue;
|
||||
|
||||
QFileInfo fi(fileInfo(file.toQString()));
|
||||
|
||||
// If the file lives in the output dir we treat it as 'owned' by
|
||||
// the current project, so it should be distcleaned by it as well.
|
||||
if (fi.path() == Option::output_dir)
|
||||
v["QMAKE_DISTCLEAN"].append(fi.fileName());
|
||||
}
|
||||
|
||||
ProStringList &quc = v["QMAKE_EXTRA_COMPILERS"];
|
||||
|
||||
//make sure the COMPILERS are in the correct input/output chain order
|
||||
|
|
|
|||
Loading…
Reference in New Issue