diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 34d9eaa825b..cc132e929df 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -332,8 +332,9 @@ void QbsProject::parse(const QVariantMap &config, const QString &dir) params.projectFilePath = m_fileName; params.ignoreDifferentProjectFilePath = false; qbs::Preferences *prefs = QbsManager::preferences(); - params.searchPaths = prefs->searchPaths(QLatin1String(QBS_BUILD_DIR)); - params.pluginPaths = prefs->pluginPaths(QLatin1String(QBS_BUILD_DIR)); + const QString buildDir = qbsBuildDir(); + params.searchPaths = prefs->searchPaths(buildDir); + params.pluginPaths = prefs->pluginPaths(buildDir); m_qbsSetupProjectJob = qbs::Project::setupProject(params, m_manager->settings(), m_manager->logSink(), 0); @@ -563,5 +564,14 @@ void QbsProject::updateQmlJsCodeModel(const qbs::ProjectData *prj) modelManager->updateProjectInfo(projectInfo); } +QString QbsProject::qbsBuildDir() const +{ + QString buildDir = Utils::Environment::systemEnvironment() + .value(QLatin1String("QBS_BUILD_DIR")); + if (buildDir.isEmpty()) + buildDir = QLatin1String(QBS_BUILD_DIR); + return buildDir; +} + } // namespace Internal } // namespace QbsProjectManager diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index b9fbd081295..1c98a04ab3c 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -117,6 +117,7 @@ private: void updateDocuments(const qbs::ProjectData *prj); void updateCppCodeModel(const qbs::ProjectData *prj); void updateQmlJsCodeModel(const qbs::ProjectData *prj); + QString qbsBuildDir() const; QbsManager *const m_manager; const QString m_projectName;