qmake: Don't generate profile build configurations for Qt4

In Qt4 the force_debug_info flag doesn't work, so we won't actually get
a profile build, but only a regular release build.

Change-Id: Ie8c31f882b393e35eb525dd12392354ecbbaee75
Task-number: QTCREATORBUG-15457
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2015-12-07 14:39:15 +01:00
parent cbd6985693
commit d3d616ea77

View File

@@ -612,17 +612,24 @@ int QmakeBuildConfigurationFactory::priority(const Target *parent) const
return canHandle(parent) ? 0 : -1; return canHandle(parent) ? 0 : -1;
} }
static QList<BuildConfiguration::BuildType> availableBuildTypes(const BaseQtVersion *version)
{
QList<BuildConfiguration::BuildType> types = {BuildConfiguration::Debug,
BuildConfiguration::Release};
if (version && version->qtVersion().majorVersion > 4)
types << BuildConfiguration::Profile;
return types;
}
QList<BuildInfo *> QmakeBuildConfigurationFactory::availableBuilds(const Target *parent) const QList<BuildInfo *> QmakeBuildConfigurationFactory::availableBuilds(const Target *parent) const
{ {
QList<ProjectExplorer::BuildInfo *> result; QList<ProjectExplorer::BuildInfo *> result;
const QString projectFilePath = parent->project()->projectFilePath().toString(); const QString projectFilePath = parent->project()->projectFilePath().toString();
for (BuildConfiguration::BuildType buildType : { BuildConfiguration::Debug, foreach (BuildConfiguration::BuildType buildType,
BuildConfiguration::Profile, availableBuildTypes(QtSupport::QtKitInformation::qtVersion(parent->kit()))) {
BuildConfiguration::Release }) { QmakeBuildInfo *info = createBuildInfo(parent->kit(), projectFilePath, buildType);
QmakeBuildInfo *info = createBuildInfo(parent->kit(), projectFilePath,
buildType);
info->displayName.clear(); // ask for a name info->displayName.clear(); // ask for a name
info->buildDirectory.clear(); // This depends on the displayName info->buildDirectory.clear(); // This depends on the displayName
result << info; result << info;
@@ -645,9 +652,10 @@ QList<BuildInfo *> QmakeBuildConfigurationFactory::availableSetups(const Kit *k,
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k);
if (!qtVersion || !qtVersion->isValid()) if (!qtVersion || !qtVersion->isValid())
return result; return result;
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Debug);
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Profile); foreach (BuildConfiguration::BuildType buildType, availableBuildTypes(qtVersion))
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Release); result << createBuildInfo(k, projectPath, buildType);
return result; return result;
} }