diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 16ade148231..a080fe8d01a 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -58,7 +58,6 @@ using namespace Utils; namespace CMakeProjectManager { namespace Internal { -const char USE_NINJA_KEY[] = "CMakeProjectManager.CMakeBuildConfiguration.UseNinja"; const char INITIAL_ARGUMENTS[] = "CMakeProjectManager.CMakeBuildConfiguration.InitialArgument"; static FileName shadowBuildDirectory(const FileName &projectFilePath, const Kit *k, @@ -75,7 +74,7 @@ static FileName shadowBuildDirectory(const FileName &projectFilePath, const Kit } CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) : - BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)), m_useNinja(false) + BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)) { CMakeProject *project = static_cast(parent->project()); setBuildDirectory(shadowBuildDirectory(project->projectFilePath(), @@ -87,7 +86,6 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent CMakeBuildConfiguration *source) : BuildConfiguration(parent, source), m_msvcVersion(source->m_msvcVersion), - m_useNinja(source->m_useNinja), m_initialArguments(source->m_initialArguments) { Q_ASSERT(parent); @@ -97,7 +95,6 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent QVariantMap CMakeBuildConfiguration::toMap() const { QVariantMap map(ProjectExplorer::BuildConfiguration::toMap()); - map.insert(QLatin1String(USE_NINJA_KEY), m_useNinja); map.insert(QLatin1String(INITIAL_ARGUMENTS), m_initialArguments); return map; } @@ -107,25 +104,11 @@ bool CMakeBuildConfiguration::fromMap(const QVariantMap &map) if (!BuildConfiguration::fromMap(map)) return false; - m_useNinja = map.value(QLatin1String(USE_NINJA_KEY), false).toBool(); m_initialArguments = map.value(QLatin1String(INITIAL_ARGUMENTS)).toString(); return true; } -bool CMakeBuildConfiguration::useNinja() const -{ - return m_useNinja; -} - -void CMakeBuildConfiguration::setUseNinja(bool useNninja) -{ - if (m_useNinja != useNninja) { - m_useNinja = useNninja; - emit useNinjaChanged(m_useNinja); - } -} - void CMakeBuildConfiguration::emitBuildTypeChanged() { emit buildTypeChanged(); @@ -298,7 +281,6 @@ CMakeBuildInfo *CMakeBuildConfigurationFactory::createBuildInfo(const ProjectExp info->kitId = k->id(); info->environment = Environment::systemEnvironment(); k->addToEnvironment(info->environment); - info->useNinja = false; info->sourceDirectory = sourceDir; switch (buildType) { case BuildTypeNone: diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index d928320727d..11953eddeb5 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -59,24 +59,17 @@ public: BuildType buildType() const; - bool useNinja() const; - void setUseNinja(bool); - void emitBuildTypeChanged(); void setInitialArguments(const QString &arguments); QString initialArguments() const; -signals: - void useNinjaChanged(bool); - protected: CMakeBuildConfiguration(ProjectExplorer::Target *parent, CMakeBuildConfiguration *source); bool fromMap(const QVariantMap &map); private: QString m_msvcVersion; - bool m_useNinja; QString m_initialArguments; friend class CMakeProjectManager::CMakeProject; diff --git a/src/plugins/cmakeprojectmanager/cmakebuildinfo.h b/src/plugins/cmakeprojectmanager/cmakebuildinfo.h index 92881941342..602f0bef573 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildinfo.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildinfo.h @@ -45,8 +45,8 @@ namespace CMakeProjectManager { class CMakeBuildInfo : public ProjectExplorer::BuildInfo { public: - CMakeBuildInfo(const ProjectExplorer::IBuildConfigurationFactory *f) : - ProjectExplorer::BuildInfo(f), useNinja(false) { } + CMakeBuildInfo(const ProjectExplorer::IBuildConfigurationFactory *f) : ProjectExplorer::BuildInfo(f) + { } CMakeBuildInfo(const Internal::CMakeBuildConfiguration *bc) : ProjectExplorer::BuildInfo(ProjectExplorer::IBuildConfigurationFactory::find(bc->target())) @@ -55,7 +55,6 @@ public: buildDirectory = bc->buildDirectory(); kitId = bc->target()->kit()->id(); environment = bc->environment(); - useNinja = bc->useNinja(); QTC_ASSERT(bc->target()->project(), return); sourceDirectory = bc->target()->project()->projectDirectory().toString(); @@ -65,7 +64,6 @@ public: Utils::Environment environment; QString sourceDirectory; QString arguments; - bool useNinja; }; } // namespace CMakeProjectManager diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp index dd82764aed7..48a86fb9685 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp @@ -91,7 +91,6 @@ void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog() project->activeTarget()->activeBuildConfiguration()->displayName()); if (copw.exec() == QDialog::Accepted) { project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory()); - m_buildConfiguration->setUseNinja(copw.useNinja()); m_pathLineEdit->setText(m_buildConfiguration->rawBuildDirectory().toString()); } } @@ -103,8 +102,7 @@ void CMakeBuildSettingsWidget::runCMake() CMakeProject *project = static_cast(m_buildConfiguration->target()->project()); CMakeManager *manager = static_cast(project->projectManager()); CMakeBuildInfo info(m_buildConfiguration); - CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), - manager, + CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), manager, CMakeOpenProjectWizard::WantToUpdate, &info, project->activeTarget()->displayName(), project->activeTarget()->activeBuildConfiguration()->displayName()); diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 84f0d9dcd0a..f877e0db368 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -91,7 +91,6 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(QWidget *parent, CMakeManager *cm m_cmakeManager(cmakeManager), m_sourceDirectory(info->sourceDirectory), m_environment(info->environment), - m_useNinja(info->useNinja), m_kit(0) { m_kit = KitManager::find(info->kitId); @@ -150,8 +149,7 @@ bool CMakeOpenProjectWizard::compatibleKitExist() const // OfferNinja and ForceNinja differ in what they return // but not whether the list is empty or not, which is what we // are interested in here - QList infos = GeneratorInfo::generatorInfosFor(k, - hasNinjaGenerator ? GeneratorInfo::OfferNinja : GeneratorInfo::NoNinja, + QList infos = GeneratorInfo::generatorInfosFor(k, hasNinjaGenerator, preferNinja, hasCodeBlocksGenerator); if (!infos.isEmpty()) @@ -189,16 +187,6 @@ void CMakeOpenProjectWizard::setBuildDirectory(const QString &directory) m_buildDirectory = directory; } -bool CMakeOpenProjectWizard::useNinja() const -{ - return m_useNinja; -} - -void CMakeOpenProjectWizard::setUseNinja(bool b) -{ - m_useNinja = b; -} - QString CMakeOpenProjectWizard::arguments() const { return m_arguments; @@ -529,20 +517,7 @@ void CMakeRunPage::initializePage() if (cmake) { // Note: We don't compare the actually cached generator to what is set in the buildconfiguration // We assume that the buildconfiguration is correct - GeneratorInfo::Ninja ninja; - if (m_mode == CMakeRunPage::NeedToUpdate || m_mode == CMakeRunPage::WantToUpdate) { - ninja = m_cmakeWizard->useNinja() ? GeneratorInfo::ForceNinja : GeneratorInfo::NoNinja; - } else { // Recreate, ChangeDirectory - // Note: ReCreate is technically just a removed .cbp file, we assume the cache - // got removed too. If the cache still exists the error message from cmake should - // be a good hint to change the generator - ninja = cmake->hasCodeBlocksNinjaGenerator() ? GeneratorInfo::OfferNinja : GeneratorInfo::NoNinja; - } - - infos = GeneratorInfo::generatorInfosFor(m_cmakeWizard->kit(), - ninja, - preferNinja, - true); + infos = GeneratorInfo::generatorInfosFor(m_cmakeWizard->kit(), true, preferNinja, true); } foreach (const GeneratorInfo &info, infos) m_generatorComboBox->addItem(info.displayName(), qVariantFromValue(info)); @@ -556,7 +531,6 @@ bool CMakeRunPage::validatePage() return false; GeneratorInfo generatorInfo = m_generatorComboBox->itemData(index).value(); m_cmakeWizard->setKit(generatorInfo.kit()); - m_cmakeWizard->setUseNinja(generatorInfo.isNinja()); return QWizardPage::validatePage(); } @@ -573,7 +547,6 @@ void CMakeRunPage::runCMake() } GeneratorInfo generatorInfo = m_generatorComboBox->itemData(index).value(); m_cmakeWizard->setKit(generatorInfo.kit()); - m_cmakeWizard->setUseNinja(generatorInfo.isNinja()); m_runCMake->setEnabled(false); m_argumentsLineEdit->setEnabled(false); diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h index 1953b837f6d..de3f1737ef2 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h @@ -86,8 +86,6 @@ public: QString buildDirectory() const; QString sourceDirectory() const; void setBuildDirectory(const QString &directory); - bool useNinja() const; - void setUseNinja(bool b); CMakeManager *cmakeManager() const; QString arguments() const; void setArguments(const QString &args); @@ -105,7 +103,6 @@ private: QString m_sourceDirectory; QString m_arguments; Utils::Environment m_environment; - bool m_useNinja; ProjectExplorer::Kit *m_kit; }; diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index c875a15b17e..8167575a446 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -146,10 +146,8 @@ void CMakeProject::changeActiveBuildConfiguration(ProjectExplorer::BuildConfigur CMakeBuildInfo info(cmakebc); CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), m_manager, mode, &info, bc->target()->displayName(), bc->displayName()); - if (copw.exec() == QDialog::Accepted) { - cmakebc->setUseNinja(copw.useNinja()); // NeedToCreate can change the Ninja setting + if (copw.exec() == QDialog::Accepted) cmakebc->setInitialArguments(QString()); - } } // reparse @@ -559,12 +557,10 @@ Project::RestoreResult CMakeProject::fromMap(const QVariantMap &map, QString *er CMakeBuildInfo info(activeBC); CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), m_manager, mode, &info, activeBC->target()->displayName(), activeBC->displayName()); - if (copw.exec() != QDialog::Accepted) { + if (copw.exec() != QDialog::Accepted) return RestoreResult::UserAbort; - } else { - activeBC->setUseNinja(copw.useNinja()); + else activeBC->setInitialArguments(QString()); - } } } diff --git a/src/plugins/cmakeprojectmanager/generatorinfo.cpp b/src/plugins/cmakeprojectmanager/generatorinfo.cpp index 5b9f84a0a55..fd157aa5810 100644 --- a/src/plugins/cmakeprojectmanager/generatorinfo.cpp +++ b/src/plugins/cmakeprojectmanager/generatorinfo.cpp @@ -70,10 +70,6 @@ ProjectExplorer::Kit *GeneratorInfo::kit() const return m_kit; } -bool GeneratorInfo::isNinja() const { - return m_isNinja; -} - QByteArray GeneratorInfo::generator() const { if (!m_kit) @@ -133,7 +129,8 @@ QString GeneratorInfo::displayName() const return QString(); } -QList GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks) +QList GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, bool hasNinja, + bool preferNinja, bool hasCodeBlocks) { QList results; ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); @@ -146,25 +143,25 @@ QList GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N && deviceType != Qnx::Constants::QNX_QNX_OS_TYPE) return results; ProjectExplorer::Abi targetAbi = tc->targetAbi(); - if (n != ForceNinja) { - if (targetAbi.os() == ProjectExplorer::Abi::WindowsOS) { - if (isMsvcFlavor(targetAbi)) { - if (hasCodeBlocks) - results << GeneratorInfo(k); - } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { + if (targetAbi.os() == ProjectExplorer::Abi::WindowsOS) { + if (isMsvcFlavor(targetAbi)) { + if (hasCodeBlocks) results << GeneratorInfo(k); - } - } else { - // Non windows + } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { results << GeneratorInfo(k); } + } else { + // Non windows + results << GeneratorInfo(k); } - if (n != NoNinja) { + + if (hasNinja) { if (preferNinja) results.prepend(GeneratorInfo(k, true)); else results.append(GeneratorInfo(k, true)); } + return results; } diff --git a/src/plugins/cmakeprojectmanager/generatorinfo.h b/src/plugins/cmakeprojectmanager/generatorinfo.h index bd79cdecb18..b91964ee555 100644 --- a/src/plugins/cmakeprojectmanager/generatorinfo.h +++ b/src/plugins/cmakeprojectmanager/generatorinfo.h @@ -44,8 +44,8 @@ class GeneratorInfo { Q_DECLARE_TR_FUNCTIONS(CMakeProjectManager::Internal::GeneratorInfo) public: - enum Ninja { NoNinja, OfferNinja, ForceNinja }; - static QList generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks); + static QList generatorInfosFor(ProjectExplorer::Kit *k, bool hasNinja, + bool preferNinja, bool hasCodeBlocks); GeneratorInfo(); explicit GeneratorInfo(ProjectExplorer::Kit *kit, bool ninja = false);