diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 406347aba0d..d6896cb6279 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -54,7 +54,7 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I setBuildDirectoryHistoryCompleter("AutoTools.BuildDir.History"); setConfigWidgetDisplayName(tr("Autotools Manager")); - setInitializer([this] { + setInitializer([this](const BuildInfo &) { // ### Build Steps Build ### // autogen.sh or autoreconf QFile autogenFile(target()->project()->projectDirectory().toString() + "/autogen.sh"); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index ec145a055f8..6309904cf9f 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -89,7 +89,8 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Core::Id id) displayName(), BuildConfiguration::Unknown)); - setInitializer([this, target] { + setInitializer([this, target](const BuildInfo &info) { + buildSteps()->appendStep(Constants::CMAKE_BUILD_STEP_ID); if (DeviceTypeKitAspect::deviceTypeId(target->kit()) @@ -147,14 +148,14 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Core::Id id) cleanSteps()->appendStep(Constants::CMAKE_BUILD_STEP_ID); - if (initialBuildDirectory().isEmpty()) { + if (info.buildDirectory.isEmpty()) { setBuildDirectory(shadowBuildDirectory(target->project()->projectFilePath(), target->kit(), - initialDisplayName(), - initialBuildType())); + info.displayName, + info.buildType)); } - auto info = extraInfo().value(); - setConfigurationForCMake(info.configuration); + auto cinfo = info.extraInfo.value(); + setConfigurationForCMake(cinfo.configuration); }); } diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index 0e909ebc5c8..6b549c313e8 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -55,7 +55,7 @@ GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id setConfigWidgetDisplayName(tr("Generic Manager")); setBuildDirectoryHistoryCompleter("Generic.BuildDir.History"); - setInitializer([this] { + setInitializer([this](const BuildInfo &) { buildSteps()->appendStep(Constants::GENERIC_MS_ID); cleanSteps()->appendStep(Constants::GENERIC_MS_ID); updateCacheAndEmitEnvironmentChanged(); diff --git a/src/plugins/nim/project/nimblebuildconfiguration.cpp b/src/plugins/nim/project/nimblebuildconfiguration.cpp index 3703cb6442d..a4d3de20441 100644 --- a/src/plugins/nim/project/nimblebuildconfiguration.cpp +++ b/src/plugins/nim/project/nimblebuildconfiguration.cpp @@ -54,9 +54,9 @@ NimbleBuildConfiguration::NimbleBuildConfiguration(Target *target, Core::Id id) setConfigWidgetHasFrame(true); setBuildDirectorySettingsKey("Nim.NimbleBuildConfiguration.BuildDirectory"); - setInitializer([this] { + setInitializer([this](const BuildInfo &info) { - m_buildType = initialBuildType(); + m_buildType = info.buildType; setBuildDirectory(project()->projectDirectory()); diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp index 3b429cb550a..ce228a6fa9a 100644 --- a/src/plugins/nim/project/nimbuildconfiguration.cpp +++ b/src/plugins/nim/project/nimbuildconfiguration.cpp @@ -73,7 +73,7 @@ NimBuildConfiguration::NimBuildConfiguration(Target *target, Core::Id id) setBuildDirectorySettingsKey("Nim.NimBuildConfiguration.BuildDirectory"); - setInitializer([this, target] { + setInitializer([this, target](const BuildInfo &info) { // Create the build configuration and initialize it from build info setBuildDirectory(defaultBuildDirectory(target->kit(), project()->projectFilePath(), @@ -84,7 +84,7 @@ NimBuildConfiguration::NimBuildConfiguration(Target *target, Core::Id id) { auto nimCompilerBuildStep = new NimCompilerBuildStep(buildSteps()); NimCompilerBuildStep::DefaultBuildOptions defaultOption; - switch (initialBuildType()) { + switch (info.buildType) { case BuildConfiguration::Release: defaultOption = NimCompilerBuildStep::DefaultBuildOptions::Release; break; diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 6f91095748b..f196604aa5f 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -84,13 +84,9 @@ public: QString m_configWidgetDisplayName; bool m_configWidgetHasFrame = false; - std::function m_initializer; - // FIXME: Remove. BuildConfiguration::BuildType m_initialBuildType = BuildConfiguration::Unknown; - Utils::FilePath m_initialBuildDirectory; - QString m_initialDisplayName; - QVariant m_extraInfo; + std::function m_initializer; }; } // Internal @@ -190,17 +186,14 @@ void BuildConfiguration::doInitialize(const BuildInfo &info) setBuildDirectory(info.buildDirectory); d->m_initialBuildType = info.buildType; - d->m_initialDisplayName = info.displayName; - d->m_initialBuildDirectory = info.buildDirectory; - d->m_extraInfo = info.extraInfo; acquaintAspects(); if (d->m_initializer) - d->m_initializer(); + d->m_initializer(info); } -void BuildConfiguration::setInitializer(const std::function &initializer) +void BuildConfiguration::setInitializer(const std::function &initializer) { d->m_initializer = initializer; } @@ -318,16 +311,6 @@ void BuildConfiguration::emitBuildDirectoryChanged() } } -QString BuildConfiguration::initialDisplayName() const -{ - return d->m_initialDisplayName; -} - -QVariant BuildConfiguration::extraInfo() const -{ - return d->m_extraInfo; -} - ProjectExplorer::BuildDirectoryAspect *BuildConfiguration::buildDirectoryAspect() const { return d->m_buildDirectoryAspect; @@ -437,16 +420,6 @@ BuildConfiguration::BuildType BuildConfiguration::buildType() const return d->m_initialBuildType; } -BuildConfiguration::BuildType BuildConfiguration::initialBuildType() const -{ - return d->m_initialBuildType; -} - -FilePath BuildConfiguration::initialBuildDirectory() const -{ - return d->m_initialBuildDirectory; -} - QString BuildConfiguration::buildTypeName(BuildConfiguration::BuildType type) { switch (type) { diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 191393842d4..3f053f15597 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -98,11 +98,6 @@ public: }; virtual BuildType buildType() const; - BuildType initialBuildType() const; // FIXME: Remove. - Utils::FilePath initialBuildDirectory() const; // FIXME: Remove. - QString initialDisplayName() const; // FIXME: Remove. - QVariant extraInfo() const; // FIXME: Remove. - static QString buildTypeName(BuildType type); bool isActive() const override; @@ -127,7 +122,7 @@ signals: void buildTypeChanged(); protected: - void setInitializer(const std::function &initializer); + void setInitializer(const std::function &initializer); private: void emitBuildDirectoryChanged(); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 38cd4caa59e..4a96af1c554 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -80,19 +80,19 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Core::Id id) { setConfigWidgetHasFrame(true); - setInitializer([this, target] { + setInitializer([this, target](const BuildInfo &info) { const Kit *kit = target->kit(); - QVariantMap configData = extraInfo().value(); + QVariantMap configData = info.extraInfo.value(); configData.insert(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY), - (initialBuildType() == BuildConfiguration::Debug) + (info.buildType == BuildConfiguration::Debug) ? QLatin1String(Constants::QBS_VARIANT_DEBUG) : QLatin1String(Constants::QBS_VARIANT_RELEASE)); - Utils::FilePath buildDir = initialBuildDirectory(); + FilePath buildDir = info.buildDirectory; if (buildDir.isEmpty()) buildDir = defaultBuildDirectory(target->project()->projectFilePath(), - kit, initialDisplayName(), - initialBuildType()); + kit, info.displayName, + buildType()); setBuildDirectory(buildDir); // Add the build configuration. @@ -100,7 +100,7 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Core::Id id) QString configName = bd.take("configName").toString(); if (configName.isEmpty()) { configName = "qtc_" + kit->fileSystemFriendlyName() + '_' - + Utils::FileUtils::fileSystemFriendlyName(initialDisplayName()); + + FileUtils::fileSystemFriendlyName(info.displayName); } const QString kitName = kit->displayName(); diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index de5f1cd1f3e..fbc228205bb 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -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(); + const QmakeExtraBuildInfo qmakeExtra = info.extraInfo.value(); 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);