CppTools: Clean up ProjectPart

Change-Id: Ia7969ceb52ffb25e7c63b24bc33b091001e9b50a
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2016-12-05 16:08:01 +01:00
parent a10bfb8400
commit 7381736cf3
6 changed files with 45 additions and 47 deletions

View File

@@ -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);
}
}

View File

@@ -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:

View File

@@ -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();

View File

@@ -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