diff options
author | Benjamin Zeller <benjamin.zeller@canonical.com> | 2014-03-11 16:08:08 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-03-12 16:55:17 +0100 |
commit | 3b786e7faf33e50e6a8b39975087c7939fe879d6 (patch) | |
tree | 634b4eaa67a3139256185eb6b56d81d6ff310617 /src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp | |
parent | 52bf71fbdff62bdcd0c67e0a5edc45b695b3c519 (diff) | |
download | qt-creator-3b786e7faf33e50e6a8b39975087c7939fe879d6.tar.gz |
cmakeprojectmanager: Move SettingsPage and GeneratorInfo in extra files
Move CMakeSettingsPage and GeneratorInfo into extra files
to prepare for refactoring
Change-Id: Idee2e9f807a961c0eee9c15198ee0966ecc16e83
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp | 141 |
1 files changed, 1 insertions, 140 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 18355e7258..26bb9f6856 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -31,6 +31,7 @@ #include "cmakeprojectmanager.h" #include "cmakebuildconfiguration.h" #include "cmakebuildinfo.h" +#include "generatorinfo.h" #include <coreplugin/icore.h> #include <utils/hostosinfo.h> @@ -70,146 +71,6 @@ using namespace CMakeProjectManager::Internal; // |--> Page: Ask for cmd options, run generator -namespace CMakeProjectManager { -namespace Internal { - class GeneratorInfo - { - Q_DECLARE_TR_FUNCTIONS(CMakeProjectManager::Internal::GeneratorInfo) - public: - enum Ninja { NoNinja, OfferNinja, ForceNinja }; - static QList<GeneratorInfo> generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks); - - GeneratorInfo(); - explicit GeneratorInfo(ProjectExplorer::Kit *kit, bool ninja = false); - - ProjectExplorer::Kit *kit() const; - bool isNinja() const; - - QString displayName() const; - QByteArray generatorArgument() const; - QByteArray generator() const; - - private: - ProjectExplorer::Kit *m_kit; - bool m_isNinja; - }; -} -} - -Q_DECLARE_METATYPE(CMakeProjectManager::Internal::GeneratorInfo); - -GeneratorInfo::GeneratorInfo() - : m_kit(0), m_isNinja(false) -{} - -GeneratorInfo::GeneratorInfo(ProjectExplorer::Kit *kit, bool ninja) - : m_kit(kit), m_isNinja(ninja) -{} - -ProjectExplorer::Kit *GeneratorInfo::kit() const -{ - return m_kit; -} - -bool GeneratorInfo::isNinja() const { - return m_isNinja; -} - -QByteArray GeneratorInfo::generator() const -{ - if (!m_kit) - return QByteArray(); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(m_kit); - ProjectExplorer::Abi targetAbi = tc->targetAbi(); - if (m_isNinja) { - return "Ninja"; - } else if (targetAbi.os() == ProjectExplorer::Abi::WindowsOS) { - if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2005Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor) { - return "NMake Makefiles"; - } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { - if (Utils::HostOsInfo::isWindowsHost()) - return "MinGW Makefiles"; - else - return "Unix Makefiles"; - } - } - return "Unix Makefiles"; -} - -QByteArray GeneratorInfo::generatorArgument() const -{ - QByteArray tmp = generator(); - if (tmp.isEmpty()) - return tmp; - return QByteArray("-GCodeBlocks - ") + tmp; -} - -QString GeneratorInfo::displayName() const -{ - if (!m_kit) - return QString(); - if (m_isNinja) - return tr("Ninja (%1)").arg(m_kit->displayName()); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(m_kit); - ProjectExplorer::Abi targetAbi = tc->targetAbi(); - if (targetAbi.os() == ProjectExplorer::Abi::WindowsOS) { - if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2005Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor) { - return tr("NMake Generator (%1)").arg(m_kit->displayName()); - } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { - if (Utils::HostOsInfo::isWindowsHost()) - return tr("MinGW Generator (%1)").arg(m_kit->displayName()); - else - return tr("Unix Generator (%1)").arg(m_kit->displayName()); - } - } else { - // Non windows - return tr("Unix Generator (%1)").arg(m_kit->displayName()); - } - return QString(); -} - -QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, Ninja n, bool preferNinja, bool hasCodeBlocks) -{ - QList<GeneratorInfo> results; - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); - if (!tc) - return results; - Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(k); - if (deviceType != ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE - && deviceType != RemoteLinux::Constants::GenericLinuxOsType) - return results; - ProjectExplorer::Abi targetAbi = tc->targetAbi(); - if (n != ForceNinja) { - if (targetAbi.os() == ProjectExplorer::Abi::WindowsOS) { - if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2005Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor) { - if (hasCodeBlocks) - results << GeneratorInfo(k); - } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { - results << GeneratorInfo(k); - } - } else { - // Non windows - results << GeneratorInfo(k); - } - } - if (n != NoNinja) { - if (preferNinja) - results.prepend(GeneratorInfo(k, true)); - else - results.append(GeneratorInfo(k, true)); - } - return results; -} - ////////////// /// CMakeOpenProjectWizard ////////////// |