Project: Make Project::files return a FileNameList

Change-Id: I75ceb22ac65b8288d824f229d44089cba6fc8ea3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2017-12-06 10:27:27 +01:00
parent e6fb9f08db
commit 18f38ff18e
38 changed files with 109 additions and 92 deletions

View File

@@ -728,28 +728,27 @@ void CMakeProject::createGeneratedCodeModelSupport()
= Utils::transform<QSet>(factories, [](const ExtraCompilerFactory *f) { return f->sourceTag(); });
// Find all files generated by any of the extra compilers, in a rather crude way.
const QStringList fileList = files(SourceFiles, [&fileExtensions](const Node *n) {
const FileNameList fileList = files(SourceFiles, [&fileExtensions](const Node *n) {
const QString fp = n->filePath().toString();
const int pos = fp.lastIndexOf('.');
return pos >= 0 && fileExtensions.contains(fp.mid(pos + 1));
});
// Generate the necessary information:
for (const QString &file : fileList) {
for (const FileName &file : fileList) {
ExtraCompilerFactory *factory = Utils::findOrDefault(factories, [&file](const ExtraCompilerFactory *f) {
return file.endsWith('.' + f->sourceTag());
});
QTC_ASSERT(factory, continue);
QStringList generated = filesGeneratedFrom(file);
QStringList generated = filesGeneratedFrom(file.toString());
if (generated.isEmpty())
continue;
const FileNameList fileNames
= transform(generated,
[](const QString &s) { return FileName::fromString(s); });
m_extraCompilers.append(factory->create(this, FileName::fromString(file),
fileNames));
m_extraCompilers.append(factory->create(this, file, fileNames));
}
CppTools::GeneratedCodeModelSupport::update(m_extraCompilers);