| 94 | } |
| 95 | |
| 96 | Path QMakeProjectManager::buildDirectory(ProjectBaseItem* item) const |
| 97 | { |
| 98 | /// TODO: support includes by some other parent or sibling in a different file-tree-branch |
| 99 | QMakeFolderItem* qmakeItem = findQMakeFolderParent(item); |
| 100 | Path dir; |
| 101 | if (qmakeItem) { |
| 102 | if (!qmakeItem->parent()) { |
| 103 | // build root item |
| 104 | dir = QMakeConfig::buildDirFromSrc(qmakeItem->project(), qmakeItem->path()); |
| 105 | } else { |
| 106 | // build sub-item |
| 107 | const auto proFiles = qmakeItem->projectFiles(); |
| 108 | for (QMakeProjectFile* pro : proFiles) { |
| 109 | if (QDir(pro->absoluteDir()) == QFileInfo(qmakeItem->path().toUrl().toLocalFile() + QLatin1Char('/')).absoluteDir() |
| 110 | || pro->hasSubProject(qmakeItem->path().toUrl().toLocalFile())) { |
| 111 | // get path from project root and it to buildDir |
| 112 | dir = QMakeConfig::buildDirFromSrc(qmakeItem->project(), Path(pro->absoluteDir())); |
| 113 | break; |
| 114 | } |
| 115 | } |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | qCDebug(KDEV_QMAKE) << "build dir for" << item->text() << item->path() << "is:" << dir; |
| 120 | return dir; |
| 121 | } |
| 122 | |
| 123 | ProjectFolderItem* QMakeProjectManager::createFolderItem(IProject* project, const Path& path, ProjectBaseItem* parent) |
| 124 | { |