forked from qt-creator/qt-creator
QbsProject: Implement filesGeneratedFrom()
Unfortunately we cannot use it for updating the code model after all, as the same file might be used in different products to generate different files. However, with the new "recursive" parameter to qbs::Project::generatedFiles() we can use that function directly there. Change-Id: Iec8e1a1366c6f4d94198b38bcb464d05106dbbff Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
This commit is contained in:
@@ -183,6 +183,14 @@ QStringList QbsProject::files(Project::FilesMode fileMode) const
|
|||||||
return result.toList();
|
return result.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList QbsProject::filesGeneratedFrom(const QString &sourceFile) const
|
||||||
|
{
|
||||||
|
QStringList generated;
|
||||||
|
foreach (const qbs::ProductData &data, m_projectData.allProducts())
|
||||||
|
generated << m_qbsProject.generatedFiles(data, sourceFile, false);
|
||||||
|
return generated;
|
||||||
|
}
|
||||||
|
|
||||||
bool QbsProject::isProjectEditable() const
|
bool QbsProject::isProjectEditable() const
|
||||||
{
|
{
|
||||||
return m_qbsProject.isValid() && !isParsing() && !BuildManager::isBuilding();
|
return m_qbsProject.isValid() && !isParsing() && !BuildManager::isBuilding();
|
||||||
@@ -788,7 +796,8 @@ void QbsProject::updateCppCodeModel()
|
|||||||
for (auto i = factoriesBegin; i != factoriesEnd; ++i) {
|
for (auto i = factoriesBegin; i != factoriesEnd; ++i) {
|
||||||
if ((*i)->sourceTag() != tag)
|
if ((*i)->sourceTag() != tag)
|
||||||
continue;
|
continue;
|
||||||
QStringList generated = filesGeneratedFrom(source.filePath());
|
QStringList generated = m_qbsProject.generatedFiles(prd, source.filePath(),
|
||||||
|
false);
|
||||||
if (generated.isEmpty())
|
if (generated.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ public:
|
|||||||
QbsRootProjectNode *rootProjectNode() const override;
|
QbsRootProjectNode *rootProjectNode() const override;
|
||||||
|
|
||||||
QStringList files(FilesMode fileMode) const override;
|
QStringList files(FilesMode fileMode) const override;
|
||||||
|
QStringList filesGeneratedFrom(const QString &sourceFile) const override;
|
||||||
|
|
||||||
bool isProjectEditable() const;
|
bool isProjectEditable() const;
|
||||||
bool addFilesToProduct(QbsBaseProjectNode *node, const QStringList &filePaths,
|
bool addFilesToProduct(QbsBaseProjectNode *node, const QStringList &filePaths,
|
||||||
|
|||||||
Reference in New Issue
Block a user