aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2020-03-19 18:24:23 +0100
committerTobias Hunger <tobias.hunger@qt.io>2020-03-20 13:10:01 +0000
commita596421ffcda6960243f7e0012c21e778a4b20f0 (patch)
treed159b0d4824a1b062f54e92693dbb7a1c4fd8bae /src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
parent9e0a1b362177d87512122c87ee2caac5d55eb7c1 (diff)
BuildSystem: Clean up use of BuildSystem::(kit|target|project)
Change-Id: I4852689cb54d02bb278f9cd596f1de506a43fc04 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp93
1 files changed, 48 insertions, 45 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
index e6be6c76f5..24b5ece217 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
@@ -107,11 +107,11 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
// BuildDirManager:
connect(&m_buildDirManager, &BuildDirManager::requestReparse, this, [this] {
- if (m_buildConfiguration->isActive())
+ if (cmakeBuildConfiguration()->isActive())
requestParse();
});
connect(&m_buildDirManager, &BuildDirManager::requestDelayedReparse, this, [this] {
- if (m_buildConfiguration->isActive())
+ if (cmakeBuildConfiguration()->isActive())
requestDelayedParse();
});
@@ -122,17 +122,17 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
this, &CMakeBuildSystem::handleParsingFailed);
connect(&m_buildDirManager, &BuildDirManager::parsingStarted, this, [this]() {
- m_buildConfiguration->clearError(CMakeBuildConfiguration::ForceEnabledChanged::True);
+ cmakeBuildConfiguration()->clearError(CMakeBuildConfiguration::ForceEnabledChanged::True);
});
// Kit changed:
connect(KitManager::instance(), &KitManager::kitUpdated, this, [this](Kit *k) {
- if (k != target()->kit())
+ if (k != kit())
return; // not for us...
// Build configuration has not changed, but Kit settings might have:
// reparse and check the configuration, independent of whether the reader has changed
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to kit being updated";
- m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_CHECK_CONFIGURATION);
});
@@ -144,22 +144,22 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
// * run cmake without configuration arguments if the reader stays
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to active target changed";
m_buildDirManager
- .setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ .setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_CHECK_CONFIGURATION);
} else {
m_buildDirManager.stopParsingAndClearState();
}
});
connect(target(), &Target::activeBuildConfigurationChanged, this, [this](BuildConfiguration *bc) {
- if (m_buildConfiguration->isActive()) {
- if (m_buildConfiguration == bc) {
+ if (cmakeBuildConfiguration()->isActive()) {
+ if (cmakeBuildConfiguration() == bc) {
// Build configuration has switched:
// * Check configuration if reader changes due to it not existing yet:-)
// * run cmake without configuration arguments if the reader stays
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to active BC changed";
m_buildDirManager
- .setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
- BuildDirManager::REPARSE_CHECK_CONFIGURATION);
+ .setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
+ BuildDirManager::REPARSE_CHECK_CONFIGURATION);
} else {
m_buildDirManager.stopParsingAndClearState();
}
@@ -167,19 +167,19 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
});
// BuildConfiguration changed:
- connect(m_buildConfiguration, &CMakeBuildConfiguration::environmentChanged, this, [this]() {
- if (m_buildConfiguration->isActive()) {
+ connect(cmakeBuildConfiguration(), &CMakeBuildConfiguration::environmentChanged, this, [this]() {
+ if (cmakeBuildConfiguration()->isActive()) {
// The environment on our BC has changed:
// * Error out if the reader updates, cannot happen since all BCs share a target/kit.
// * run cmake without configuration arguments if the reader stays
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to environment change";
m_buildDirManager
- .setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ .setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_CHECK_CONFIGURATION);
}
});
- connect(m_buildConfiguration, &CMakeBuildConfiguration::buildDirectoryChanged, this, [this]() {
- if (m_buildConfiguration->isActive()) {
+ connect(cmakeBuildConfiguration(), &CMakeBuildConfiguration::buildDirectoryChanged, this, [this]() {
+ if (cmakeBuildConfiguration()->isActive()) {
// The build directory of our BC has changed:
// * Error out if the reader updates, cannot happen since all BCs share a target/kit.
// * run cmake without configuration arguments if the reader stays
@@ -187,36 +187,36 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
// the reader.
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to build directory change";
m_buildDirManager
- .setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ .setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_CHECK_CONFIGURATION);
}
});
- connect(m_buildConfiguration, &CMakeBuildConfiguration::configurationForCMakeChanged, this, [this]() {
- if (m_buildConfiguration->isActive()) {
+ connect(cmakeBuildConfiguration(), &CMakeBuildConfiguration::configurationForCMakeChanged, this, [this]() {
+ if (cmakeBuildConfiguration()->isActive()) {
// The CMake configuration has changed on our BC:
// * Error out if the reader updates, cannot happen since all BCs share a target/kit.
// * run cmake with configuration arguments if the reader stays
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to cmake configuration change";
m_buildDirManager
- .setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ .setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_FORCE_CONFIGURATION);
}
});
connect(project(), &Project::projectFileIsDirty, this, [this]() {
- if (m_buildConfiguration->isActive() && !isParsing()) {
- const auto cmake = CMakeKitAspect::cmakeTool(m_buildConfiguration->target()->kit());
+ if (cmakeBuildConfiguration()->isActive() && !isParsing()) {
+ const auto cmake = CMakeKitAspect::cmakeTool(cmakeBuildConfiguration()->target()->kit());
if (cmake && cmake->isAutoRun()) {
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to dirty project file";
m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(
- m_buildConfiguration),
+ cmakeBuildConfiguration()),
BuildDirManager::REPARSE_DEFAULT);
}
}
});
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to initial CMake BuildSystem setup";
- m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(m_buildConfiguration),
+ m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
BuildDirManager::REPARSE_CHECK_CONFIGURATION);
}
@@ -284,7 +284,7 @@ QStringList CMakeBuildSystem::filesGeneratedFrom(const QString &sourceFile) cons
QDir srcDirRoot = QDir(project.toString());
QString relativePath = srcDirRoot.relativeFilePath(baseDirectory.toString());
- QDir buildDir = QDir(buildConfiguration()->buildDirectory().toString());
+ QDir buildDir = QDir(cmakeBuildConfiguration()->buildDirectory().toString());
QString generatedFilePath = buildDir.absoluteFilePath(relativePath);
if (fi.suffix() == "ui") {
@@ -305,7 +305,7 @@ QStringList CMakeBuildSystem::filesGeneratedFrom(const QString &sourceFile) cons
void CMakeBuildSystem::runCMake()
{
- BuildDirParameters parameters(m_buildConfiguration);
+ BuildDirParameters parameters(cmakeBuildConfiguration());
qCDebug(cmakeBuildSystemLog) << "Requesting parse due \"Run CMake\" command";
m_buildDirManager.setParametersAndRequestParse(parameters,
BuildDirManager::REPARSE_CHECK_CONFIGURATION
@@ -315,7 +315,7 @@ void CMakeBuildSystem::runCMake()
void CMakeBuildSystem::runCMakeAndScanProjectTree()
{
- BuildDirParameters parameters(m_buildConfiguration);
+ BuildDirParameters parameters(cmakeBuildConfiguration());
qCDebug(cmakeBuildSystemLog) << "Requesting parse due to \"Rescan Project\" command";
m_buildDirManager.setParametersAndRequestParse(parameters,
BuildDirManager::REPARSE_CHECK_CONFIGURATION
@@ -325,7 +325,7 @@ void CMakeBuildSystem::runCMakeAndScanProjectTree()
void CMakeBuildSystem::buildCMakeTarget(const QString &buildTarget)
{
QTC_ASSERT(!buildTarget.isEmpty(), return);
- m_buildConfiguration->buildTarget(buildTarget);
+ cmakeBuildConfiguration()->buildTarget(buildTarget);
}
void CMakeBuildSystem::handleTreeScanningFinished()
@@ -380,7 +380,7 @@ std::unique_ptr<CMakeProjectNode>
void CMakeBuildSystem::combineScanAndParse()
{
- if (m_buildConfiguration->isActive()) {
+ if (cmakeBuildConfiguration()->isActive()) {
if (m_waitingForParse || m_waitingForScan)
return;
@@ -398,7 +398,7 @@ void CMakeBuildSystem::combineScanAndParse()
void CMakeBuildSystem::checkAndReportError(QString &errorMessage)
{
if (!errorMessage.isEmpty()) {
- m_buildConfiguration->setError(errorMessage);
+ cmakeBuildConfiguration()->setError(errorMessage);
errorMessage.clear();
}
}
@@ -409,13 +409,15 @@ void CMakeBuildSystem::updateProjectData()
QTC_ASSERT(m_treeScanner.isFinished() && !m_buildDirManager.isParsing(), return);
- m_buildConfiguration->project()->setExtraProjectFiles(m_buildDirManager.projectFilesToWatch());
+ cmakeBuildConfiguration()->project()->setExtraProjectFiles(
+ m_buildDirManager.projectFilesToWatch());
- CMakeConfig patchedConfig = m_buildConfiguration->configurationFromCMake();
+ CMakeConfig patchedConfig = cmakeBuildConfiguration()->configurationFromCMake();
{
CMakeConfigItem settingFileItem;
settingFileItem.key = "ANDROID_DEPLOYMENT_SETTINGS_FILE";
- settingFileItem.value = m_buildConfiguration->buildDirectory()
+ settingFileItem.value = cmakeBuildConfiguration()
+ ->buildDirectory()
.pathAppended("android_deployment_settings.json")
.toString()
.toUtf8();
@@ -479,7 +481,7 @@ void CMakeBuildSystem::updateProjectData()
QString errorMessage;
RawProjectParts rpps = m_buildDirManager.createRawProjectParts(errorMessage);
if (!errorMessage.isEmpty())
- m_buildConfiguration->setError(errorMessage);
+ cmakeBuildConfiguration()->setError(errorMessage);
qCDebug(cmakeBuildSystemLog) << "Raw project parts created." << errorMessage;
for (RawProjectPart &rpp : rpps) {
@@ -491,13 +493,13 @@ void CMakeBuildSystem::updateProjectData()
rpp.setFlagsForC({kitInfo.cToolChain, rpp.flagsForC.commandLineFlags});
}
- m_cppCodeModelUpdater->update({p, kitInfo, m_buildConfiguration->environment(), rpps});
+ m_cppCodeModelUpdater->update({p, kitInfo, cmakeBuildConfiguration()->environment(), rpps});
}
{
updateQmlJSCodeModel();
}
- emit m_buildConfiguration->buildTypeChanged();
+ emit cmakeBuildConfiguration()->buildTypeChanged();
m_buildDirManager.resetData();
@@ -506,12 +508,12 @@ void CMakeBuildSystem::updateProjectData()
void CMakeBuildSystem::handleParsingSucceeded()
{
- if (!m_buildConfiguration->isActive()) {
+ if (!cmakeBuildConfiguration()->isActive()) {
m_buildDirManager.stopParsingAndClearState();
return;
}
- m_buildConfiguration->clearError();
+ cmakeBuildConfiguration()->clearError();
QString errorMessage;
{
@@ -522,7 +524,7 @@ void CMakeBuildSystem::handleParsingSucceeded()
{
const CMakeConfig cmakeConfig = m_buildDirManager.takeCMakeConfiguration(errorMessage);
checkAndReportError(errorMessage);
- m_buildConfiguration->setConfigurationFromCMake(cmakeConfig);
+ cmakeBuildConfiguration()->setConfigurationFromCMake(cmakeConfig);
}
setApplicationTargets(appTargets());
@@ -533,10 +535,11 @@ void CMakeBuildSystem::handleParsingSucceeded()
void CMakeBuildSystem::handleParsingFailed(const QString &msg)
{
- m_buildConfiguration->setError(msg);
+ cmakeBuildConfiguration()->setError(msg);
QString errorMessage;
- m_buildConfiguration->setConfigurationFromCMake(m_buildDirManager.takeCMakeConfiguration(errorMessage));
+ cmakeBuildConfiguration()->setConfigurationFromCMake(
+ m_buildDirManager.takeCMakeConfiguration(errorMessage));
// ignore errorMessage here, we already got one.
handleParsingError();
@@ -563,8 +566,8 @@ static Utils::FilePaths librarySearchPaths(const CMakeBuildSystem *bs, const QSt
const QList<BuildTargetInfo> CMakeBuildSystem::appTargets() const
{
QList<BuildTargetInfo> appTargetList;
- const bool forAndroid = DeviceTypeKitAspect::deviceTypeId(target()->kit())
- == Android::Constants::ANDROID_DEVICE_TYPE;
+ const bool forAndroid = DeviceTypeKitAspect::deviceTypeId(kit())
+ == Android::Constants::ANDROID_DEVICE_TYPE;
for (const CMakeBuildTarget &ct : m_buildTargets) {
if (ct.targetType == UtilityType)
continue;
@@ -609,8 +612,8 @@ DeploymentData CMakeBuildSystem::deploymentData() const
{
DeploymentData result;
- QDir sourceDir = target()->project()->projectDirectory().toString();
- QDir buildDir = buildConfiguration()->buildDirectory().toString();
+ QDir sourceDir = project()->projectDirectory().toString();
+ QDir buildDir = cmakeBuildConfiguration()->buildDirectory().toString();
QString deploymentPrefix;
QString deploymentFilePath = sourceDir.filePath("QtCreatorDeployment.txt");
@@ -709,7 +712,7 @@ void CMakeBuildSystem::updateQmlJSCodeModel()
projectInfo.importPaths.clear();
- const CMakeConfig &cm = m_buildConfiguration->configurationFromCMake();
+ const CMakeConfig &cm = cmakeBuildConfiguration()->configurationFromCMake();
const QString cmakeImports = QString::fromUtf8(CMakeConfigItem::valueOf("QML_IMPORT_PATH", cm));
foreach (const QString &cmakeImport, CMakeConfigItem::cmakeSplitValue(cmakeImports))