forked from qt-creator/qt-creator
		
	CppTools: Clean up ProjectPart
Change-Id: Ia7969ceb52ffb25e7c63b24bc33b091001e9b50a Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
		@@ -97,9 +97,9 @@ void CompilerOptionsBuilder::addWordWidth()
 | 
			
		||||
 | 
			
		||||
void CompilerOptionsBuilder::addTargetTriple()
 | 
			
		||||
{
 | 
			
		||||
    if (!m_projectPart.targetTriple.isEmpty()) {
 | 
			
		||||
    if (!m_projectPart.toolChainTargetTriple.isEmpty()) {
 | 
			
		||||
        m_options.append(QLatin1String("-target"));
 | 
			
		||||
        m_options.append(m_projectPart.targetTriple);
 | 
			
		||||
        m_options.append(m_projectPart.toolChainTargetTriple);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -184,7 +184,7 @@ public:
 | 
			
		||||
        m_projectPart.toolchainType = m_toolChain.type();
 | 
			
		||||
        m_projectPart.isMsvc2015Toolchain = m_toolChain.isMsvc2015Toolchain();
 | 
			
		||||
        m_projectPart.toolChainWordWidth = mapWordWith(m_toolChain.wordWidth());
 | 
			
		||||
        m_projectPart.targetTriple = m_toolChain.targetTriple();
 | 
			
		||||
        m_projectPart.toolChainTargetTriple = m_toolChain.targetTriple();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
 
 | 
			
		||||
@@ -25,23 +25,12 @@
 | 
			
		||||
 | 
			
		||||
#include "projectpart.h"
 | 
			
		||||
 | 
			
		||||
#include <QFile>
 | 
			
		||||
#include <QDir>
 | 
			
		||||
#include <QTextStream>
 | 
			
		||||
 | 
			
		||||
namespace CppTools {
 | 
			
		||||
 | 
			
		||||
ProjectPart::ProjectPart()
 | 
			
		||||
    : project(0)
 | 
			
		||||
    , toolChainWordWidth(WordWidth32Bit)
 | 
			
		||||
    , isMsvc2015Toolchain(false)
 | 
			
		||||
    , languageVersion(LatestCxxVersion)
 | 
			
		||||
    , languageExtensions(NoExtensions)
 | 
			
		||||
    , qtVersion(UnknownQt)
 | 
			
		||||
    , warningFlags(ProjectExplorer::WarningFlags::Default)
 | 
			
		||||
    , selectedForBuilding(true)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ProjectPart::updateLanguageFeatures()
 | 
			
		||||
{
 | 
			
		||||
    const bool hasQt = qtVersion != NoQt;
 | 
			
		||||
@@ -80,11 +69,11 @@ QString ProjectPart::id() const
 | 
			
		||||
    return projectPartId;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QByteArray ProjectPart::readProjectConfigFile(const ProjectPart::Ptr &part)
 | 
			
		||||
QByteArray ProjectPart::readProjectConfigFile(const Ptr &projectPart)
 | 
			
		||||
{
 | 
			
		||||
    QByteArray result;
 | 
			
		||||
 | 
			
		||||
    QFile f(part->projectConfigFile);
 | 
			
		||||
    QFile f(projectPart->projectConfigFile);
 | 
			
		||||
    if (f.open(QIODevice::ReadOnly)) {
 | 
			
		||||
        QTextStream is(&f);
 | 
			
		||||
        result = is.readAll().toUtf8();
 | 
			
		||||
 
 | 
			
		||||
@@ -34,8 +34,6 @@
 | 
			
		||||
 | 
			
		||||
#include <coreplugin/id.h>
 | 
			
		||||
 | 
			
		||||
#include <utils/fileutils.h>
 | 
			
		||||
 | 
			
		||||
#include <cplusplus/Token.h>
 | 
			
		||||
 | 
			
		||||
#include <QString>
 | 
			
		||||
@@ -49,7 +47,7 @@ namespace CppTools {
 | 
			
		||||
 | 
			
		||||
class CPPTOOLS_EXPORT ProjectPart
 | 
			
		||||
{
 | 
			
		||||
public: // Types
 | 
			
		||||
public:
 | 
			
		||||
    enum LanguageVersion {
 | 
			
		||||
        C89,
 | 
			
		||||
        C99,
 | 
			
		||||
@@ -71,16 +69,19 @@ public: // Types
 | 
			
		||||
        OpenMPExtensions     = 1 << 3,
 | 
			
		||||
        ObjectiveCExtensions = 1 << 4,
 | 
			
		||||
 | 
			
		||||
        AllExtensions = GnuExtensions | MicrosoftExtensions | BorlandExtensions | OpenMPExtensions
 | 
			
		||||
        AllExtensions = GnuExtensions
 | 
			
		||||
                      | MicrosoftExtensions
 | 
			
		||||
                      | BorlandExtensions
 | 
			
		||||
                      | OpenMPExtensions
 | 
			
		||||
                      | ObjectiveCExtensions
 | 
			
		||||
    };
 | 
			
		||||
    Q_DECLARE_FLAGS(LanguageExtensions, LanguageExtension)
 | 
			
		||||
 | 
			
		||||
    enum QtVersion {
 | 
			
		||||
        UnknownQt = -1,
 | 
			
		||||
        NoQt = 0,
 | 
			
		||||
        Qt4 = 1,
 | 
			
		||||
        Qt5 = 2
 | 
			
		||||
        NoQt,
 | 
			
		||||
        Qt4,
 | 
			
		||||
        Qt5
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    enum ToolChainWordWidth {
 | 
			
		||||
@@ -90,37 +91,42 @@ public: // Types
 | 
			
		||||
 | 
			
		||||
    using Ptr = QSharedPointer<ProjectPart>;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public: // methods
 | 
			
		||||
    ProjectPart();
 | 
			
		||||
 | 
			
		||||
    void updateLanguageFeatures();
 | 
			
		||||
    Ptr copy() const;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    QString id() const;
 | 
			
		||||
 | 
			
		||||
    static QByteArray readProjectConfigFile(const ProjectPart::Ptr &part);
 | 
			
		||||
    Ptr copy() const;
 | 
			
		||||
    void updateLanguageFeatures();
 | 
			
		||||
 | 
			
		||||
    static QByteArray readProjectConfigFile(const Ptr &projectPart);
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    ProjectExplorer::Project *project = nullptr;
 | 
			
		||||
 | 
			
		||||
public: // fields
 | 
			
		||||
    QString displayName;
 | 
			
		||||
 | 
			
		||||
    QString projectFile;
 | 
			
		||||
    ProjectExplorer::Project *project;
 | 
			
		||||
    ProjectFiles files;
 | 
			
		||||
    QString projectConfigFile; // currently only used by the Generic Project Manager
 | 
			
		||||
    QByteArray projectDefines;
 | 
			
		||||
    QByteArray toolchainDefines;
 | 
			
		||||
    Core::Id toolchainType;
 | 
			
		||||
    ToolChainWordWidth toolChainWordWidth;
 | 
			
		||||
    bool isMsvc2015Toolchain;
 | 
			
		||||
    QString targetTriple;
 | 
			
		||||
    ProjectPartHeaderPaths headerPaths;
 | 
			
		||||
 | 
			
		||||
    ProjectFiles files;
 | 
			
		||||
 | 
			
		||||
    QStringList precompiledHeaders;
 | 
			
		||||
    LanguageVersion languageVersion;
 | 
			
		||||
    LanguageExtensions languageExtensions;
 | 
			
		||||
    ProjectPartHeaderPaths headerPaths;
 | 
			
		||||
 | 
			
		||||
    QByteArray projectDefines;
 | 
			
		||||
 | 
			
		||||
    LanguageVersion languageVersion = LatestCxxVersion;
 | 
			
		||||
    LanguageExtensions languageExtensions = NoExtensions;
 | 
			
		||||
    ProjectExplorer::WarningFlags warningFlags = ProjectExplorer::WarningFlags::Default;
 | 
			
		||||
    QtVersion qtVersion = UnknownQt;
 | 
			
		||||
    CPlusPlus::LanguageFeatures languageFeatures;
 | 
			
		||||
    QtVersion qtVersion;
 | 
			
		||||
    ProjectExplorer::WarningFlags warningFlags;
 | 
			
		||||
    bool selectedForBuilding;
 | 
			
		||||
 | 
			
		||||
    bool selectedForBuilding = true;
 | 
			
		||||
 | 
			
		||||
    Core::Id toolchainType;
 | 
			
		||||
    bool isMsvc2015Toolchain = false;
 | 
			
		||||
    QByteArray toolchainDefines;
 | 
			
		||||
    ToolChainWordWidth toolChainWordWidth = WordWidth32Bit;
 | 
			
		||||
    QString toolChainTargetTriple;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // namespace CppTools
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user