ProjectExplorer: Pass parameters to BuildConfiguration initialization

... directly again, mostly undoing the temporary hack from fb631cb258.

Change-Id: I4485dcb23765d99b4b5869973f004457ebd7aa7d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-12-06 17:32:07 +01:00
parent 2ab33d1dc9
commit b1a29dedfc
9 changed files with 30 additions and 61 deletions

View File

@@ -109,18 +109,18 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
setConfigWidgetHasFrame(true);
m_buildSystem = new QmakeBuildSystem(this);
setInitializer([this, target] {
setInitializer([this, target](const BuildInfo &info) {
auto qmakeStep = new QMakeStep(buildSteps());
buildSteps()->appendStep(qmakeStep);
buildSteps()->appendStep(Constants::MAKESTEP_BS_ID);
cleanSteps()->appendStep(Constants::MAKESTEP_BS_ID);
const QmakeExtraBuildInfo qmakeExtra = extraInfo().value<QmakeExtraBuildInfo>();
const QmakeExtraBuildInfo qmakeExtra = info.extraInfo.value<QmakeExtraBuildInfo>();
BaseQtVersion *version = QtKitAspect::qtVersion(target->kit());
BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig();
if (initialBuildType() == BuildConfiguration::Debug)
if (info.buildType == BuildConfiguration::Debug)
config |= BaseQtVersion::DebugBuild;
else
config &= ~BaseQtVersion::DebugBuild;
@@ -135,11 +135,11 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
setQMakeBuildConfiguration(config);
FilePath directory = initialBuildDirectory();
FilePath directory = info.buildDirectory;
if (directory.isEmpty()) {
directory = shadowBuildDirectory(target->project()->projectFilePath(),
target->kit(), initialDisplayName(),
initialBuildType());
target->kit(), info.displayName,
info.buildType);
}
setBuildDirectory(directory);