diff --git a/src/plugins/mesonprojectmanager/mesoninfoparser/parsers/targetparser.h b/src/plugins/mesonprojectmanager/mesoninfoparser/parsers/targetparser.h index 41e1c83629a..f016cff936a 100644 --- a/src/plugins/mesonprojectmanager/mesoninfoparser/parsers/targetparser.h +++ b/src/plugins/mesonprojectmanager/mesoninfoparser/parsers/targetparser.h @@ -66,6 +66,7 @@ class TargetParser targetObj["id"].toString(), targetObj["defined_in"].toString(), targetObj["filename"].toVariant().toStringList(), + targetObj["extra_files"].toVariant().toStringList(), targetObj["subproject"].toString(), extract_sources(targetObj["target_sources"].toArray())}; return t; diff --git a/src/plugins/mesonprojectmanager/mesoninfoparser/target.h b/src/plugins/mesonprojectmanager/mesoninfoparser/target.h index 8e8d5853133..55d5938e494 100644 --- a/src/plugins/mesonprojectmanager/mesoninfoparser/target.h +++ b/src/plugins/mesonprojectmanager/mesoninfoparser/target.h @@ -75,6 +75,7 @@ struct Target const QString id; const QString definedIn; const QStringList fileName; + const QStringList extraFiles; const Utils::optional subproject; const SourceGroupList sources; @@ -114,6 +115,7 @@ struct Target QString &&id, QString &&definedIn, QStringList &&fileName, + QStringList &&extraFiles, QString &&subproject, SourceGroupList &&sources) : type{toType(type)} @@ -121,6 +123,7 @@ struct Target , id{std::move(id)} , definedIn{QDir::cleanPath(definedIn)} , fileName{cleanPath(std::move(fileName))} + , extraFiles{cleanPath(std::move(extraFiles))} , subproject{subproject.isNull() ? Utils::nullopt : Utils::optional{std::move(subproject)}} , sources{std::move(sources)} diff --git a/src/plugins/mesonprojectmanager/project/projecttree/projecttree.cpp b/src/plugins/mesonprojectmanager/project/projecttree/projecttree.cpp index bb572c00093..3e9f5b2cd68 100644 --- a/src/plugins/mesonprojectmanager/project/projecttree/projecttree.cpp +++ b/src/plugins/mesonprojectmanager/project/projecttree/projecttree.cpp @@ -38,6 +38,11 @@ void buildTargetTree(std::unique_ptr &root, const Target &targ ProjectExplorer::FileType::Source)); } } + for (const auto &extraFile : target.extraFiles) { + root->addNestedNode( + std::make_unique(Utils::FilePath::fromString(extraFile), + ProjectExplorer::FileType::Unknown)); + } } void addTargetNode(std::unique_ptr &root, const Target &target)