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