ProjectExplorer: Use function object for special build config init

Change-Id: I5da0f28ee1a64f8d9a3145f059019be702bee463
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-12-09 12:59:38 +01:00
parent b82add7813
commit 041a86c8c7
18 changed files with 269 additions and 282 deletions

View File

@@ -54,8 +54,23 @@ NimbleBuildConfiguration::NimbleBuildConfiguration(Target *target, Core::Id id)
setConfigWidgetHasFrame(true);
setBuildDirectorySettingsKey("Nim.NimbleBuildConfiguration.BuildDirectory");
m_nimbleBuildSystem = dynamic_cast<NimbleBuildSystem *>(buildSystem());
QTC_ASSERT(m_nimbleBuildSystem, return);
setInitializer([this] {
m_buildType = initialBuildType();
setBuildDirectory(project()->projectDirectory());
// FIXME: This is the wrong place for this decision, as it depends on
// information that's typically only available after parsing which takes
// the build configuration that is initialized here into account.
// // Don't add a nimble build step when the package has no binaries (i.e a library package)
// m_nimbleBuildSystem = dynamic_cast<NimbleBuildSystem *>(buildSystem());
// if (!m_nimbleBuildSystem->metadata().bin.empty())
// {
buildSteps()->appendStep(new NimbleBuildStep(buildSteps()));
// }
});
}
BuildConfiguration::BuildType NimbleBuildConfiguration::buildType() const
@@ -63,23 +78,6 @@ BuildConfiguration::BuildType NimbleBuildConfiguration::buildType() const
return m_buildType;
}
void NimbleBuildConfiguration::initialize()
{
m_buildType = initialBuildType();
setBuildDirectory(project()->projectDirectory());
// FIXME: This is the wrong place for this decision, as it depends on
// information that's typically only available after parsing which takes
// the build configuration that is initialized here into account.
// // Don't add a nimble build step when the package has no binaries (i.e a library package)
// if (!m_nimbleBuildSystem->metadata().bin.empty())
// {
buildSteps()->appendStep(new NimbleBuildStep(buildSteps()));
// }
}
bool NimbleBuildConfiguration::fromMap(const QVariantMap &map)
{
m_buildType = static_cast<BuildType>(map[Constants::C_NIMBLEBUILDCONFIGURATION_BUILDTYPE].toInt());