QmakeProject: Move QmakeBC::isShadowBuild

... to the config widget implementation, which is the only user.

Change-Id: I7cc70b6219dacedf1ef431a1fe21345b9ad69e7b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-07-29 09:24:37 +02:00
parent 165f2f8938
commit 8493a6b044
3 changed files with 12 additions and 14 deletions

View File

@@ -255,15 +255,6 @@ void QmakeBuildConfiguration::setFileNodeBuild(FileNode *node)
m_fileNodeBuild = node; m_fileNodeBuild = node;
} }
/// returns whether this is a shadow build configuration or not
/// note, even if shadowBuild() returns true, it might be using the
/// source directory as the shadow build directory, thus it
/// still is a in-source build
bool QmakeBuildConfiguration::isShadowBuild() const
{
return buildDirectory() != target()->project()->projectDirectory();
}
QString QmakeBuildConfiguration::makefile() const QString QmakeBuildConfiguration::makefile() const
{ {
auto rootNode = dynamic_cast<QmakeProFileNode *>(target()->project()->rootProjectNode()); auto rootNode = dynamic_cast<QmakeProFileNode *>(target()->project()->rootProjectNode());

View File

@@ -48,7 +48,6 @@ public:
void initialize(const ProjectExplorer::BuildInfo &info) override; void initialize(const ProjectExplorer::BuildInfo &info) override;
ProjectExplorer::NamedWidget *createConfigWidget() override; ProjectExplorer::NamedWidget *createConfigWidget() override;
bool isShadowBuild() const;
void setSubNodeBuild(QmakeProFileNode *node); void setSubNodeBuild(QmakeProFileNode *node);
QmakeProFileNode *subNodeBuild() const; QmakeProFileNode *subNodeBuild() const;

View File

@@ -44,11 +44,19 @@ using namespace QmakeProjectManager;
using namespace QmakeProjectManager::Internal; using namespace QmakeProjectManager::Internal;
using namespace ProjectExplorer; using namespace ProjectExplorer;
/// returns whether this is a shadow build configuration or not
/// note, even if shadowBuild() returns true, it might be using the
/// source directory as the shadow build directory, thus it
/// still is a in-source build
static bool isShadowBuild(BuildConfiguration *bc)
{
return bc->buildDirectory() != bc->target()->project()->projectDirectory();
}
QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc) QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc)
: NamedWidget(), : NamedWidget(),
m_buildConfiguration(bc) m_buildConfiguration(bc)
{ {
const bool isShadowBuild = bc->isShadowBuild();
Project *project = bc->target()->project(); Project *project = bc->target()->project();
m_defaultShadowBuildDir m_defaultShadowBuildDir
@@ -71,7 +79,7 @@ QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc)
shadowBuildLabel->setText(tr("Shadow build:")); shadowBuildLabel->setText(tr("Shadow build:"));
shadowBuildCheckBox = new QCheckBox(details); shadowBuildCheckBox = new QCheckBox(details);
shadowBuildCheckBox->setChecked(isShadowBuild); shadowBuildCheckBox->setChecked(isShadowBuild(m_buildConfiguration));
buildDirLabel = new QLabel(details); buildDirLabel = new QLabel(details);
buildDirLabel->setText(tr("Build directory:")); buildDirLabel->setText(tr("Build directory:"));
@@ -115,7 +123,7 @@ QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc)
shadowBuildDirEdit->setHistoryCompleter(QLatin1String("Qmake.BuildDir.History")); shadowBuildDirEdit->setHistoryCompleter(QLatin1String("Qmake.BuildDir.History"));
shadowBuildDirEdit->setEnvironment(bc->environment()); shadowBuildDirEdit->setEnvironment(bc->environment());
shadowBuildDirEdit->setBaseFileName(project->projectDirectory()); shadowBuildDirEdit->setBaseFileName(project->projectDirectory());
if (isShadowBuild) { if (isShadowBuild(m_buildConfiguration)) {
shadowBuildDirEdit->setPath(bc->rawBuildDirectory().toString()); shadowBuildDirEdit->setPath(bc->rawBuildDirectory().toString());
inSourceBuildDirEdit->setVisible(false); inSourceBuildDirEdit->setVisible(false);
} else { } else {
@@ -296,7 +304,7 @@ void QmakeProjectConfigWidget::updateProblemLabel()
if (allGood) { if (allGood) {
QString buildDirectory = m_buildConfiguration->target()->project()->projectDirectory().toString(); QString buildDirectory = m_buildConfiguration->target()->project()->projectDirectory().toString();
if (m_buildConfiguration->isShadowBuild()) if (isShadowBuild(m_buildConfiguration))
buildDirectory = m_buildConfiguration->buildDirectory().toString(); buildDirectory = m_buildConfiguration->buildDirectory().toString();
Tasks issues; Tasks issues;
issues = version->reportIssues(proFileName, buildDirectory); issues = version->reportIssues(proFileName, buildDirectory);