diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index d442c52f13f..509d385a8ca 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -101,6 +101,11 @@ void CMakeBuildConfiguration::setUseNinja(bool useNninja) } } +void CMakeBuildConfiguration::emitBuildTypeChanged() +{ + emit buildTypeChanged(); +} + CMakeBuildConfiguration::~CMakeBuildConfiguration() { } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index 54cffa43108..3413c374b10 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -61,6 +61,8 @@ public: bool useNinja() const; void setUseNinja(bool); + void emitBuildTypeChanged(); + signals: void useNinjaChanged(bool); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index aef28fe0a53..93bccdb6538 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -386,6 +386,8 @@ bool CMakeProject::parseCMakeLists() emit buildTargetsChanged(); emit fileListChanged(); + emit activeBC->emitBuildTypeChanged(); + return true; } diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 94894bb230d..5cb9aec5cee 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -95,6 +95,7 @@ signals: void environmentChanged(); void buildDirectoryChanged(); void enabledChanged(); + void buildTypeChanged(); protected: BuildConfiguration(Target *target, Core::Id id); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 65fded9055a..e4f0cda681c 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -198,6 +198,11 @@ QStringList QbsBuildConfiguration::products() const return m_products; } +void QbsBuildConfiguration::emitBuildTypeChanged() +{ + emit buildTypeChanged(); +} + QbsBuildConfiguration *QbsBuildConfiguration::setup(ProjectExplorer::Target *t, const QString &defaultDisplayName, const QString &displayName, diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h index b9360c6b14d..44170adfb51 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h @@ -76,6 +76,8 @@ public: void setProducts(const QStringList &products); QStringList products() const; + void emitBuildTypeChanged(); + signals: void qbsConfigurationChanged(); diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 92bfb71facd..a9ff82a8bcb 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -166,6 +166,9 @@ void QbsBuildStep::setQbsConfiguration(const QVariantMap &config) if (tmp == m_qbsConfiguration) return; m_qbsConfiguration = tmp; + QbsBuildConfiguration *bc = static_cast(buildConfiguration()); + if (bc) + bc->emitBuildTypeChanged(); emit qbsConfigurationChanged(); } @@ -322,6 +325,9 @@ void QbsBuildStep::setBuildVariant(const QString &variant) return; m_qbsConfiguration.insert(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY), variant); emit qbsConfigurationChanged(); + QbsBuildConfiguration *bc = static_cast(buildConfiguration()); + if (bc) + bc->emitBuildTypeChanged(); } QString QbsBuildStep::profile() const diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index c97e2b80c3f..a5ef01d4fd7 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -276,6 +276,7 @@ void QmakeBuildConfiguration::setQMakeBuildConfiguration(BaseQtVersion::QmakeBui emit qmakeBuildConfigurationChanged(); emitProFileEvaluateNeeded(); + emit buildTypeChanged(); } void QmakeBuildConfiguration::emitProFileEvaluateNeeded()