summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
diff options
context:
space:
mode:
authorYuchen Deng <loaden@gmail.com>2013-02-16 14:54:13 +0800
committerPeter Kümmel <syntheticpp@gmx.net>2013-02-28 16:14:01 +0100
commit75d1c3035aad0fdcd1751ef8f096158f481502e6 (patch)
tree05bfcbb527dbe2ce9e37e2c47317c706c29f8220 /src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
parenta436ffc0b9b7deedf9d18500baf7be5e01a4c97b (diff)
downloadqt-creator-75d1c3035aad0fdcd1751ef8f096158f481502e6.tar.gz
CMake: Add option for preferred Ninja user
Change-Id: I5a3aa31db7fa37f31a4b557eb5b09b7987169265 Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
index bd144aa407..be40c8fbbb 100644
--- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
@@ -74,7 +74,7 @@ namespace Internal {
Q_DECLARE_TR_FUNCTIONS(CMakeProjectManager::Internal::GeneratorInfo)
public:
enum Ninja { NoNinja, OfferNinja, ForceNinja };
- static QList<GeneratorInfo> generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool hasCodeBlocks);
+ static QList<GeneratorInfo> generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks);
GeneratorInfo();
explicit GeneratorInfo(ProjectExplorer::Kit *kit, bool ninja = false);
@@ -171,7 +171,7 @@ QString GeneratorInfo::displayName() const
return QString();
}
-QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool hasCodeBlocks)
+QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks)
{
QList<GeneratorInfo> results;
ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k);
@@ -194,8 +194,12 @@ QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N
results << GeneratorInfo(k);
}
}
- if (n != NoNinja)
- results << GeneratorInfo(k, true);
+ if (n != NoNinja) {
+ if (preferNinja)
+ results.prepend(GeneratorInfo(k, true));
+ else
+ results.append(GeneratorInfo(k, true));
+ }
return results;
}
@@ -281,6 +285,7 @@ bool CMakeOpenProjectWizard::compatibleKitExist() const
{
bool hasCodeBlocksGenerator = m_cmakeManager->hasCodeBlocksMsvcGenerator();
bool hasNinjaGenerator = m_cmakeManager->hasCodeBlocksNinjaGenerator();
+ bool preferNinja = m_cmakeManager->preferNinja();
QList<ProjectExplorer::Kit *> kitList =
ProjectExplorer::KitManager::instance()->kits();
@@ -291,6 +296,7 @@ bool CMakeOpenProjectWizard::compatibleKitExist() const
// are interested in here
QList<GeneratorInfo> infos = GeneratorInfo::generatorInfosFor(k,
hasNinjaGenerator ? GeneratorInfo::OfferNinja : GeneratorInfo::NoNinja,
+ preferNinja,
hasCodeBlocksGenerator);
if (!infos.isEmpty())
return true;
@@ -647,6 +653,7 @@ void CMakeRunPage::initializePage()
bool hasCodeBlocksGenerator = m_cmakeWizard->cmakeManager()->hasCodeBlocksMsvcGenerator();
bool hasNinjaGenerator = m_cmakeWizard->cmakeManager()->hasCodeBlocksNinjaGenerator();
+ bool preferNinja = m_cmakeWizard->cmakeManager()->preferNinja();
if (m_mode == Initial) {
// Try figuring out generator and toolchain from CMakeCache.txt
@@ -659,6 +666,7 @@ void CMakeRunPage::initializePage()
foreach (ProjectExplorer::Kit *k, kitList) {
QList<GeneratorInfo> infos = GeneratorInfo::generatorInfosFor(k,
hasNinjaGenerator ? GeneratorInfo::OfferNinja : GeneratorInfo::NoNinja,
+ preferNinja,
hasCodeBlocksGenerator);
foreach (const GeneratorInfo &info, infos)
@@ -680,6 +688,7 @@ void CMakeRunPage::initializePage()
QList<GeneratorInfo> infos = GeneratorInfo::generatorInfosFor(m_cmakeWizard->kit(),
ninja,
+ preferNinja,
true);
foreach (const GeneratorInfo &info, infos)
m_generatorComboBox->addItem(info.displayName(), qVariantFromValue(info));