diff options
author | Tobias Hunger <[email protected]> | 2020-03-19 18:24:23 +0100 |
---|---|---|
committer | Tobias Hunger <[email protected]> | 2020-03-20 13:10:01 +0000 |
commit | a596421ffcda6960243f7e0012c21e778a4b20f0 (patch) | |
tree | d159b0d4824a1b062f54e92693dbb7a1c4fd8bae /src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp | |
parent | 9e0a1b362177d87512122c87ee2caac5d55eb7c1 (diff) |
BuildSystem: Clean up use of BuildSystem::(kit|target|project)
Change-Id: I4852689cb54d02bb278f9cd596f1de506a43fc04
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp | 93 |
1 files changed, 48 insertions, 45 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index e6be6c76f58..24b5ece217d 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)) |