forked from qt-creator/qt-creator
ProjectExplorer: Set up hack to funnel information to buildstep ctors
For now, store most of BuildInfo in the BuildConfiguration. This will allow accessing it in the BuildStep ctors so the BuildSteps can be fully setup without polishing afterwards (as currently done in the main build steps of the three buildsystems, and Nim) This in meant to be temporary to a large degree. Change-Id: If6ade6052f4b96670995399ae97ef7d2313f632a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -60,9 +60,9 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I
|
|||||||
setConfigWidgetDisplayName(tr("Autotools Manager"));
|
setConfigWidgetDisplayName(tr("Autotools Manager"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutotoolsBuildConfiguration::initialize(const BuildInfo &info)
|
void AutotoolsBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
BuildStepList *buildSteps = stepList(BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(BUILDSTEPS_BUILD);
|
||||||
|
|
||||||
@@ -111,11 +111,5 @@ QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableBuilds
|
|||||||
return {info};
|
return {info};
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration::BuildType AutotoolsBuildConfiguration::buildType() const
|
|
||||||
{
|
|
||||||
// TODO: Should I return something different from Unknown?
|
|
||||||
return Unknown;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // Internal
|
} // Internal
|
||||||
} // AutotoolsProjectManager
|
} // AutotoolsProjectManager
|
||||||
|
@@ -39,8 +39,7 @@ class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
|||||||
friend class ProjectExplorer::BuildConfigurationFactory;
|
friend class ProjectExplorer::BuildConfigurationFactory;
|
||||||
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
|
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
|
||||||
|
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
BuildType buildType() const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class AutotoolsBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory
|
class AutotoolsBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory
|
||||||
|
@@ -171,9 +171,9 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *parent, Core::Id id)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeBuildConfiguration::initialize(const BuildInfo &info)
|
void CMakeBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
buildSteps->appendStep(Constants::CMAKE_BUILD_STEP_ID);
|
buildSteps->appendStep(Constants::CMAKE_BUILD_STEP_ID);
|
||||||
@@ -212,14 +212,15 @@ void CMakeBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
BuildStepList *cleanSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
|
BuildStepList *cleanSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
|
||||||
cleanSteps->appendStep(Constants::CMAKE_BUILD_STEP_ID);
|
cleanSteps->appendStep(Constants::CMAKE_BUILD_STEP_ID);
|
||||||
|
|
||||||
if (info.buildDirectory.isEmpty()) {
|
if (initialBuildDirectory().isEmpty()) {
|
||||||
auto project = target()->project();
|
auto project = target()->project();
|
||||||
setBuildDirectory(CMakeBuildConfiguration::shadowBuildDirectory(project->projectFilePath(),
|
setBuildDirectory(CMakeBuildConfiguration::shadowBuildDirectory(project->projectFilePath(),
|
||||||
target()->kit(),
|
target()->kit(),
|
||||||
info.displayName, info.buildType));
|
initialDisplayName(),
|
||||||
|
initialBuildType()));
|
||||||
}
|
}
|
||||||
auto extraInfo = info.extraInfo.value<CMakeExtraBuildInfo>();
|
auto info = extraInfo().value<CMakeExtraBuildInfo>();
|
||||||
setConfigurationForCMake(extraInfo.configuration);
|
setConfigurationForCMake(info.configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CMakeBuildConfiguration::disabledReason() const
|
QString CMakeBuildConfiguration::disabledReason() const
|
||||||
|
@@ -84,7 +84,7 @@ private:
|
|||||||
QVariantMap toMap() const override;
|
QVariantMap toMap() const override;
|
||||||
BuildType buildType() const override;
|
BuildType buildType() const override;
|
||||||
|
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
QString disabledReason() const override;
|
QString disabledReason() const override;
|
||||||
|
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
||||||
|
@@ -502,9 +502,9 @@ CompilationDatabaseBuildConfiguration::CompilationDatabaseBuildConfiguration(
|
|||||||
target->setApplicationTargets({BuildTargetInfo()});
|
target->setApplicationTargets({BuildTargetInfo()});
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilationDatabaseBuildConfiguration::initialize(const ProjectExplorer::BuildInfo &info)
|
void CompilationDatabaseBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration::initialize(info);
|
ProjectExplorer::BuildConfiguration::initialize();
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
buildSteps->appendStep(ProjectExplorer::Constants::PROCESS_STEP_ID);
|
buildSteps->appendStep(ProjectExplorer::Constants::PROCESS_STEP_ID);
|
||||||
}
|
}
|
||||||
@@ -514,11 +514,6 @@ ProjectExplorer::NamedWidget *CompilationDatabaseBuildConfiguration::createConfi
|
|||||||
return new ProjectExplorer::NamedWidget();
|
return new ProjectExplorer::NamedWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectExplorer::BuildConfiguration::BuildType CompilationDatabaseBuildConfiguration::buildType() const
|
|
||||||
{
|
|
||||||
return ProjectExplorer::BuildConfiguration::Release;
|
|
||||||
}
|
|
||||||
|
|
||||||
CompilationDatabaseBuildConfigurationFactory::CompilationDatabaseBuildConfigurationFactory()
|
CompilationDatabaseBuildConfigurationFactory::CompilationDatabaseBuildConfigurationFactory()
|
||||||
{
|
{
|
||||||
registerBuildConfiguration<CompilationDatabaseBuildConfiguration>(
|
registerBuildConfiguration<CompilationDatabaseBuildConfiguration>(
|
||||||
|
@@ -88,10 +88,9 @@ class CompilationDatabaseBuildConfiguration : public ProjectExplorer::BuildConfi
|
|||||||
public:
|
public:
|
||||||
CompilationDatabaseBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
CompilationDatabaseBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
||||||
BuildType buildType() const override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CompilationDatabaseBuildConfigurationFactory
|
class CompilationDatabaseBuildConfigurationFactory
|
||||||
|
@@ -58,9 +58,9 @@ GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id
|
|||||||
updateCacheAndEmitEnvironmentChanged();
|
updateCacheAndEmitEnvironmentChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericBuildConfiguration::initialize(const BuildInfo &info)
|
void GenericBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
buildSteps->appendStep(Constants::GENERIC_MS_ID);
|
buildSteps->appendStep(Constants::GENERIC_MS_ID);
|
||||||
@@ -101,11 +101,6 @@ QList<BuildInfo> GenericBuildConfigurationFactory::availableBuilds
|
|||||||
return {info};
|
return {info};
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration::BuildType GenericBuildConfiguration::buildType() const
|
|
||||||
{
|
|
||||||
return Unknown;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const
|
void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const
|
||||||
{
|
{
|
||||||
prependCompilerPathToEnvironment(target()->kit(), env);
|
prependCompilerPathToEnvironment(target()->kit(), env);
|
||||||
|
@@ -39,8 +39,7 @@ class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
|||||||
friend class ProjectExplorer::BuildConfigurationFactory;
|
friend class ProjectExplorer::BuildConfigurationFactory;
|
||||||
GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
|
GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
|
||||||
|
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
BuildType buildType() const override;
|
|
||||||
void addToEnvironment(Utils::Environment &env) const final;
|
void addToEnvironment(Utils::Environment &env) const final;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -76,9 +76,9 @@ NimBuildConfiguration::NimBuildConfiguration(Target *target, Core::Id id)
|
|||||||
setBuildDirectorySettingsKey("Nim.NimBuildConfiguration.BuildDirectory");
|
setBuildDirectorySettingsKey("Nim.NimBuildConfiguration.BuildDirectory");
|
||||||
}
|
}
|
||||||
|
|
||||||
void NimBuildConfiguration::initialize(const BuildInfo &info)
|
void NimBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
auto project = qobject_cast<NimProject *>(target()->project());
|
auto project = qobject_cast<NimProject *>(target()->project());
|
||||||
QTC_ASSERT(project, return);
|
QTC_ASSERT(project, return);
|
||||||
@@ -86,15 +86,15 @@ void NimBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
// Create the build configuration and initialize it from build info
|
// Create the build configuration and initialize it from build info
|
||||||
setBuildDirectory(defaultBuildDirectory(target()->kit(),
|
setBuildDirectory(defaultBuildDirectory(target()->kit(),
|
||||||
project->projectFilePath(),
|
project->projectFilePath(),
|
||||||
info.displayName,
|
displayName(),
|
||||||
info.buildType));
|
buildType()));
|
||||||
|
|
||||||
// Add nim compiler build step
|
// Add nim compiler build step
|
||||||
{
|
{
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
auto nimCompilerBuildStep = new NimCompilerBuildStep(buildSteps);
|
auto nimCompilerBuildStep = new NimCompilerBuildStep(buildSteps);
|
||||||
NimCompilerBuildStep::DefaultBuildOptions defaultOption;
|
NimCompilerBuildStep::DefaultBuildOptions defaultOption;
|
||||||
switch (info.buildType) {
|
switch (initialBuildType()) {
|
||||||
case BuildConfiguration::Release:
|
case BuildConfiguration::Release:
|
||||||
defaultOption = NimCompilerBuildStep::DefaultBuildOptions::Release;
|
defaultOption = NimCompilerBuildStep::DefaultBuildOptions::Release;
|
||||||
break;
|
break;
|
||||||
@@ -119,11 +119,6 @@ void NimBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration::BuildType NimBuildConfiguration::buildType() const
|
|
||||||
{
|
|
||||||
return BuildConfiguration::Unknown;
|
|
||||||
}
|
|
||||||
|
|
||||||
FilePath NimBuildConfiguration::cacheDirectory() const
|
FilePath NimBuildConfiguration::cacheDirectory() const
|
||||||
{
|
{
|
||||||
return buildDirectory().pathAppended("nimcache");
|
return buildDirectory().pathAppended("nimcache");
|
||||||
|
@@ -39,8 +39,7 @@ class NimBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
|||||||
friend class ProjectExplorer::BuildConfigurationFactory;
|
friend class ProjectExplorer::BuildConfigurationFactory;
|
||||||
NimBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
NimBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
||||||
|
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
ProjectExplorer::BuildConfiguration::BuildType buildType() const override;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Utils::FilePath cacheDirectory() const;
|
Utils::FilePath cacheDirectory() const;
|
||||||
|
@@ -169,12 +169,8 @@ NamedWidget *BuildConfiguration::createConfigWidget()
|
|||||||
return named;
|
return named;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfiguration::initialize(const BuildInfo &info)
|
void BuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
setDisplayName(info.displayName);
|
|
||||||
setDefaultDisplayName(info.displayName);
|
|
||||||
setBuildDirectory(info.buildDirectory);
|
|
||||||
|
|
||||||
m_stepLists.append(new BuildStepList(this, Constants::BUILDSTEPS_BUILD));
|
m_stepLists.append(new BuildStepList(this, Constants::BUILDSTEPS_BUILD));
|
||||||
m_stepLists.append(new BuildStepList(this, Constants::BUILDSTEPS_CLEAN));
|
m_stepLists.append(new BuildStepList(this, Constants::BUILDSTEPS_CLEAN));
|
||||||
}
|
}
|
||||||
@@ -258,6 +254,11 @@ void BuildConfiguration::emitBuildDirectoryChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString BuildConfiguration::initialDisplayName() const
|
||||||
|
{
|
||||||
|
return m_initialDisplayName;
|
||||||
|
}
|
||||||
|
|
||||||
ProjectExplorer::BaseStringAspect *BuildConfiguration::buildDirectoryAspect() const
|
ProjectExplorer::BaseStringAspect *BuildConfiguration::buildDirectoryAspect() const
|
||||||
{
|
{
|
||||||
return m_buildDirectoryAspect;
|
return m_buildDirectoryAspect;
|
||||||
@@ -505,7 +506,18 @@ BuildConfiguration *BuildConfigurationFactory::create(Target *parent, const Buil
|
|||||||
BuildConfiguration *bc = m_creator(parent);
|
BuildConfiguration *bc = m_creator(parent);
|
||||||
if (!bc)
|
if (!bc)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
bc->initialize(info);
|
|
||||||
|
bc->setDisplayName(info.displayName);
|
||||||
|
bc->setDefaultDisplayName(info.displayName);
|
||||||
|
bc->setBuildDirectory(info.buildDirectory);
|
||||||
|
|
||||||
|
bc->m_initialBuildType = info.buildType;
|
||||||
|
bc->m_initialDisplayName = info.displayName;
|
||||||
|
bc->m_initialBuildDirectory = info.buildDirectory;
|
||||||
|
bc->m_extraInfo = info.extraInfo;
|
||||||
|
|
||||||
|
bc->initialize();
|
||||||
|
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -86,7 +86,12 @@ public:
|
|||||||
Profile,
|
Profile,
|
||||||
Release
|
Release
|
||||||
};
|
};
|
||||||
virtual BuildType buildType() const = 0;
|
virtual BuildType buildType() const { return m_initialBuildType; }
|
||||||
|
|
||||||
|
BuildType initialBuildType() const { return m_initialBuildType; } // FIXME: Remove.
|
||||||
|
Utils::FilePath initialBuildDirectory() const { return m_initialBuildDirectory; } // FIXME: Remove.
|
||||||
|
QString initialDisplayName() const; // FIXME: Remove.
|
||||||
|
QVariant extraInfo() const { return m_extraInfo; } // FIXME: Remove.
|
||||||
|
|
||||||
static QString buildTypeName(BuildType type);
|
static QString buildTypeName(BuildType type);
|
||||||
|
|
||||||
@@ -108,7 +113,7 @@ signals:
|
|||||||
void buildTypeChanged();
|
void buildTypeChanged();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void initialize(const BuildInfo &info);
|
virtual void initialize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void emitBuildDirectoryChanged();
|
void emitBuildDirectoryChanged();
|
||||||
@@ -121,6 +126,12 @@ private:
|
|||||||
mutable Utils::Environment m_cachedEnvironment;
|
mutable Utils::Environment m_cachedEnvironment;
|
||||||
QString m_configWidgetDisplayName;
|
QString m_configWidgetDisplayName;
|
||||||
bool m_configWidgetHasFrame = false;
|
bool m_configWidgetHasFrame = false;
|
||||||
|
|
||||||
|
// FIXME: Remove.
|
||||||
|
BuildConfiguration::BuildType m_initialBuildType = BuildConfiguration::Unknown;
|
||||||
|
Utils::FilePath m_initialBuildDirectory;
|
||||||
|
QString m_initialDisplayName;
|
||||||
|
QVariant m_extraInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT BuildConfigurationFactory : public QObject
|
class PROJECTEXPLORER_EXPORT BuildConfigurationFactory : public QObject
|
||||||
|
@@ -94,20 +94,21 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Core::Id id)
|
|||||||
this, &QbsBuildConfiguration::triggerReparseIfActive);
|
this, &QbsBuildConfiguration::triggerReparseIfActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildConfiguration::initialize(const BuildInfo &info)
|
void QbsBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
QVariantMap configData = info.extraInfo.value<QVariantMap>();
|
QVariantMap configData = extraInfo().value<QVariantMap>();
|
||||||
configData.insert(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY),
|
configData.insert(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY),
|
||||||
(info.buildType == BuildConfiguration::Debug)
|
(initialBuildType() == BuildConfiguration::Debug)
|
||||||
? QLatin1String(Constants::QBS_VARIANT_DEBUG)
|
? QLatin1String(Constants::QBS_VARIANT_DEBUG)
|
||||||
: QLatin1String(Constants::QBS_VARIANT_RELEASE));
|
: QLatin1String(Constants::QBS_VARIANT_RELEASE));
|
||||||
|
|
||||||
Utils::FilePath buildDir = info.buildDirectory;
|
Utils::FilePath buildDir = initialBuildDirectory();
|
||||||
if (buildDir.isEmpty())
|
if (buildDir.isEmpty())
|
||||||
buildDir = defaultBuildDirectory(target()->project()->projectFilePath(),
|
buildDir = defaultBuildDirectory(target()->project()->projectFilePath(),
|
||||||
target()->kit(), info.displayName, info.buildType);
|
target()->kit(), initialDisplayName(),
|
||||||
|
initialBuildType());
|
||||||
setBuildDirectory(buildDir);
|
setBuildDirectory(buildDir);
|
||||||
|
|
||||||
// Add the build configuration.
|
// Add the build configuration.
|
||||||
@@ -115,14 +116,14 @@ void QbsBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
QString configName = bd.take("configName").toString();
|
QString configName = bd.take("configName").toString();
|
||||||
if (configName.isEmpty()) {
|
if (configName.isEmpty()) {
|
||||||
configName = "qtc_" + target()->kit()->fileSystemFriendlyName() + '_'
|
configName = "qtc_" + target()->kit()->fileSystemFriendlyName() + '_'
|
||||||
+ Utils::FileUtils::fileSystemFriendlyName(info.displayName);
|
+ Utils::FileUtils::fileSystemFriendlyName(initialDisplayName());
|
||||||
}
|
}
|
||||||
|
|
||||||
m_configurationName->setValue(configName);
|
m_configurationName->setValue(configName);
|
||||||
|
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
auto bs = new QbsBuildStep(buildSteps);
|
auto bs = new QbsBuildStep(buildSteps);
|
||||||
if (info.buildType == Release)
|
if (initialBuildType() == Release)
|
||||||
bs->setQmlDebuggingEnabled(false);
|
bs->setQmlDebuggingEnabled(false);
|
||||||
bs->setQbsConfiguration(bd);
|
bs->setQbsConfiguration(bd);
|
||||||
buildSteps->appendStep(bs);
|
buildSteps->appendStep(bs);
|
||||||
|
@@ -48,7 +48,7 @@ class QbsBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
|||||||
QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
|
|
||||||
QbsBuildStep *qbsStep() const;
|
QbsBuildStep *qbsStep() const;
|
||||||
QVariantMap qbsConfiguration() const;
|
QVariantMap qbsConfiguration() const;
|
||||||
|
@@ -128,9 +128,9 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
|
|||||||
this, &QmakeBuildConfiguration::qtVersionsChanged);
|
this, &QmakeBuildConfiguration::qtVersionsChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QmakeBuildConfiguration::initialize(const BuildInfo &info)
|
void QmakeBuildConfiguration::initialize()
|
||||||
{
|
{
|
||||||
BuildConfiguration::initialize(info);
|
BuildConfiguration::initialize();
|
||||||
|
|
||||||
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
BuildStepList *buildSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||||
auto qmakeStep = new QMakeStep(buildSteps);
|
auto qmakeStep = new QMakeStep(buildSteps);
|
||||||
@@ -140,11 +140,11 @@ void QmakeBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
BuildStepList *cleanSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
|
BuildStepList *cleanSteps = stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
|
||||||
cleanSteps->appendStep(Constants::MAKESTEP_BS_ID);
|
cleanSteps->appendStep(Constants::MAKESTEP_BS_ID);
|
||||||
|
|
||||||
const QmakeExtraBuildInfo qmakeExtra = info.extraInfo.value<QmakeExtraBuildInfo>();
|
const QmakeExtraBuildInfo qmakeExtra = extraInfo().value<QmakeExtraBuildInfo>();
|
||||||
BaseQtVersion *version = QtKitAspect::qtVersion(target()->kit());
|
BaseQtVersion *version = QtKitAspect::qtVersion(target()->kit());
|
||||||
|
|
||||||
BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig();
|
BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig();
|
||||||
if (info.buildType == BuildConfiguration::Debug)
|
if (initialBuildType() == BuildConfiguration::Debug)
|
||||||
config |= BaseQtVersion::DebugBuild;
|
config |= BaseQtVersion::DebugBuild;
|
||||||
else
|
else
|
||||||
config &= ~BaseQtVersion::DebugBuild;
|
config &= ~BaseQtVersion::DebugBuild;
|
||||||
@@ -158,10 +158,11 @@ void QmakeBuildConfiguration::initialize(const BuildInfo &info)
|
|||||||
|
|
||||||
setQMakeBuildConfiguration(config);
|
setQMakeBuildConfiguration(config);
|
||||||
|
|
||||||
FilePath directory = info.buildDirectory;
|
FilePath directory = initialBuildDirectory();
|
||||||
if (directory.isEmpty()) {
|
if (directory.isEmpty()) {
|
||||||
directory = defaultBuildDirectory(target()->project()->projectFilePath(),
|
directory = defaultBuildDirectory(target()->project()->projectFilePath(),
|
||||||
target()->kit(), info.displayName, buildType());
|
target()->kit(), initialDisplayName(),
|
||||||
|
initialBuildType());
|
||||||
}
|
}
|
||||||
|
|
||||||
setBuildDirectory(directory);
|
setBuildDirectory(directory);
|
||||||
|
@@ -46,7 +46,7 @@ public:
|
|||||||
QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
||||||
~QmakeBuildConfiguration() override;
|
~QmakeBuildConfiguration() override;
|
||||||
|
|
||||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
void initialize() override;
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
||||||
|
|
||||||
void setSubNodeBuild(QmakeProFileNode *node);
|
void setSubNodeBuild(QmakeProFileNode *node);
|
||||||
|
Reference in New Issue
Block a user