forked from qt-creator/qt-creator
CppTools: Move RawProjectPart to ProjectExplorer
Doesn't have any dependencies into CppTools anymore, therefore moving it reduces the dependencies of the project managers to CppTools as well. Change-Id: Ibe728abe59eb88a8877943dca1f48a85163e27ac Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -377,7 +377,7 @@ std::unique_ptr<CMakeProjectNode> BuildDirManager::generateProjectTree(
|
||||
return m_reader->generateProjectTree(allFiles, errorMessage);
|
||||
}
|
||||
|
||||
CppTools::RawProjectParts BuildDirManager::createRawProjectParts(QString &errorMessage) const
|
||||
RawProjectParts BuildDirManager::createRawProjectParts(QString &errorMessage) const
|
||||
{
|
||||
QTC_ASSERT(!m_isHandlingError, return {});
|
||||
QTC_ASSERT(m_reader, return {});
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "cmakebuildtarget.h"
|
||||
#include "cmakeconfigitem.h"
|
||||
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
#include <projectexplorer/rawprojectpart.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/temporarydirectory.h>
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
QVector<Utils::FilePath> takeProjectFilesToWatch();
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(const QList<const ProjectExplorer::FileNode *> &allFiles,
|
||||
QString &errorMessage) const;
|
||||
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const;
|
||||
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) const;
|
||||
|
||||
QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) const;
|
||||
CMakeConfig takeCMakeConfiguration(QString &errorMessage) const;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "cmakeconfigitem.h"
|
||||
#include "cmaketool.h"
|
||||
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
#include <projectexplorer/rawprojectpart.h>
|
||||
|
||||
#include <utils/environment.h>
|
||||
#include <utils/fileutils.h>
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
virtual std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage)
|
||||
= 0;
|
||||
virtual CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) = 0;
|
||||
virtual ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) = 0;
|
||||
|
||||
signals:
|
||||
void isReadyNow() const;
|
||||
|
||||
@@ -29,8 +29,6 @@
|
||||
#include "cmakeproject.h"
|
||||
#include "configmodel.h"
|
||||
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
|
||||
#include <projectexplorer/buildconfiguration.h>
|
||||
#include <projectexplorer/buildtargetinfo.h>
|
||||
#include <projectexplorer/deploymentdata.h>
|
||||
|
||||
@@ -271,12 +271,12 @@ void CMakeBuildSystem::updateProjectData(CMakeProject *p, CMakeBuildConfiguratio
|
||||
|
||||
{
|
||||
QString errorMessage;
|
||||
CppTools::RawProjectParts rpps = bc->m_buildDirManager.createRawProjectParts(errorMessage);
|
||||
RawProjectParts rpps = bc->m_buildDirManager.createRawProjectParts(errorMessage);
|
||||
if (!errorMessage.isEmpty())
|
||||
bc->setError(errorMessage);
|
||||
qCDebug(cmakeBuildSystemLog) << "Raw project parts created." << errorMessage;
|
||||
|
||||
for (CppTools::RawProjectPart &rpp : rpps) {
|
||||
for (RawProjectPart &rpp : rpps) {
|
||||
rpp.setQtVersion(
|
||||
kitInfo.projectPartQtVersion); // TODO: Check if project actually uses Qt.
|
||||
if (kitInfo.cxxToolChain)
|
||||
|
||||
@@ -33,11 +33,10 @@
|
||||
#include "cmakeprojectmanager.h"
|
||||
|
||||
#include <coreplugin/progressmanager/progressmanager.h>
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
#include <cpptools/cppprojectupdater.h>
|
||||
#include <cpptools/cpptoolsconstants.h>
|
||||
#include <cpptools/generatedcodemodelsupport.h>
|
||||
#include <cpptools/projectinfo.h>
|
||||
#include <cpptools/cpptoolsconstants.h>
|
||||
#include <projectexplorer/buildsteplist.h>
|
||||
#include <projectexplorer/buildtargetinfo.h>
|
||||
#include <projectexplorer/deploymentdata.h>
|
||||
@@ -47,10 +46,10 @@
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/target.h>
|
||||
#include <projectexplorer/toolchain.h>
|
||||
#include <qmljs/qmljsmodelmanagerinterface.h>
|
||||
#include <qtsupport/baseqtversion.h>
|
||||
#include <qtsupport/qtcppkitinfo.h>
|
||||
#include <qtsupport/qtkitinformation.h>
|
||||
#include <qmljs/qmljsmodelmanagerinterface.h>
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
@@ -270,10 +270,10 @@ static QStringList splitFragments(const QStringList &fragments)
|
||||
return result;
|
||||
}
|
||||
|
||||
CppTools::RawProjectParts generateRawProjectParts(const PreprocessedData &input,
|
||||
const FilePath &sourceDirectory)
|
||||
RawProjectParts generateRawProjectParts(const PreprocessedData &input,
|
||||
const FilePath &sourceDirectory)
|
||||
{
|
||||
CppTools::RawProjectParts rpps;
|
||||
RawProjectParts rpps;
|
||||
|
||||
int counter = 0;
|
||||
for (const TargetDetails &t : input.targetDetails) {
|
||||
@@ -297,18 +297,18 @@ CppTools::RawProjectParts generateRawProjectParts(const PreprocessedData &input,
|
||||
}
|
||||
|
||||
++counter;
|
||||
CppTools::RawProjectPart rpp;
|
||||
RawProjectPart rpp;
|
||||
rpp.setProjectFileLocation(t.sourceDir.pathAppended("CMakeLists.txt").toString());
|
||||
rpp.setBuildSystemTarget(t.name);
|
||||
rpp.setDisplayName(t.id);
|
||||
rpp.setMacros(transform<QVector>(ci.defines, &DefineInfo::define));
|
||||
rpp.setHeaderPaths(transform<QVector>(ci.includes, &IncludeInfo::path));
|
||||
|
||||
CppTools::RawProjectPartFlags cProjectFlags;
|
||||
RawProjectPartFlags cProjectFlags;
|
||||
cProjectFlags.commandLineFlags = splitFragments(ci.fragments);
|
||||
rpp.setFlagsForC(cProjectFlags);
|
||||
|
||||
CppTools::RawProjectPartFlags cxxProjectFlags;
|
||||
RawProjectPartFlags cxxProjectFlags;
|
||||
cxxProjectFlags.commandLineFlags = cProjectFlags.commandLineFlags;
|
||||
rpp.setFlagsForCxx(cxxProjectFlags);
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "cmakeprocess.h"
|
||||
#include "cmakeprojectnodes.h"
|
||||
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
#include <projectexplorer/rawprojectpart.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
CMakeConfig cache;
|
||||
QSet<Utils::FilePath> cmakeFiles;
|
||||
QList<CMakeBuildTarget> buildTargets;
|
||||
CppTools::RawProjectParts projectParts;
|
||||
ProjectExplorer::RawProjectParts projectParts;
|
||||
std::unique_ptr<CMakeProjectNode> rootProjectNode;
|
||||
QSet<Utils::FilePath> knownHeaders;
|
||||
};
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
#include "fileapiparser.h"
|
||||
|
||||
#include <coreplugin/messagemanager.h>
|
||||
#include <cpptools/cpprawprojectpart.h>
|
||||
#include <projectexplorer/headerpath.h>
|
||||
#include <projectexplorer/rawprojectpart.h>
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/qtcassert.h>
|
||||
@@ -624,8 +624,9 @@ TargetDetails extractTargetDetails(const QJsonObject &root, QString &errorMessag
|
||||
isSystem ? ProjectExplorer::HeaderPathType::System
|
||||
: ProjectExplorer::HeaderPathType::User);
|
||||
|
||||
return IncludeInfo{CppTools::RawProjectPart::frameworkDetectionHeuristic(hp),
|
||||
i.value("backtrace").toInt(-1)};
|
||||
return IncludeInfo{
|
||||
ProjectExplorer::RawProjectPart::frameworkDetectionHeuristic(hp),
|
||||
i.value("backtrace").toInt(-1)};
|
||||
}),
|
||||
transform<std::vector>(o.value("defines").toArray(),
|
||||
[](const QJsonValue &v) {
|
||||
|
||||
@@ -206,11 +206,11 @@ std::unique_ptr<CMakeProjectNode> FileApiReader::generateProjectTree(
|
||||
return std::move(m_rootProjectNode);
|
||||
}
|
||||
|
||||
CppTools::RawProjectParts FileApiReader::createRawProjectParts(QString &errorMessage)
|
||||
RawProjectParts FileApiReader::createRawProjectParts(QString &errorMessage)
|
||||
{
|
||||
Q_UNUSED(errorMessage)
|
||||
|
||||
CppTools::RawProjectParts result = std::move(m_projectParts);
|
||||
RawProjectParts result = std::move(m_projectParts);
|
||||
m_projectParts.clear();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
|
||||
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
|
||||
private:
|
||||
void startState();
|
||||
@@ -81,7 +81,7 @@ private:
|
||||
CMakeConfig m_cache;
|
||||
QSet<Utils::FilePath> m_cmakeFiles;
|
||||
QList<CMakeBuildTarget> m_buildTargets;
|
||||
CppTools::RawProjectParts m_projectParts;
|
||||
ProjectExplorer::RawProjectParts m_projectParts;
|
||||
std::unique_ptr<CMakeProjectNode> m_rootProjectNode;
|
||||
QSet<Utils::FilePath> m_knownHeaders;
|
||||
|
||||
|
||||
@@ -293,10 +293,10 @@ std::unique_ptr<CMakeProjectNode> ServerModeReader::generateProjectTree(const QL
|
||||
return root;
|
||||
}
|
||||
|
||||
CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage)
|
||||
RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage)
|
||||
{
|
||||
Q_UNUSED(errorMessage)
|
||||
CppTools::RawProjectParts rpps;
|
||||
RawProjectParts rpps;
|
||||
|
||||
int counter = 0;
|
||||
for (const FileGroup *fg : qAsConst(m_fileGroups)) {
|
||||
@@ -317,18 +317,18 @@ CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &error
|
||||
const QStringList flags = QtcProcess::splitArgs(fg->compileFlags);
|
||||
const QStringList includes = transform(fg->includePaths, [](const IncludePath *ip) { return ip->path.toString(); });
|
||||
|
||||
CppTools::RawProjectPart rpp;
|
||||
RawProjectPart rpp;
|
||||
rpp.setProjectFileLocation(fg->target->sourceDirectory.toString() + "/CMakeLists.txt");
|
||||
rpp.setBuildSystemTarget(fg->target->name);
|
||||
rpp.setDisplayName(fg->target->name + QString::number(counter));
|
||||
rpp.setMacros(fg->macros);
|
||||
rpp.setIncludePaths(includes);
|
||||
|
||||
CppTools::RawProjectPartFlags cProjectFlags;
|
||||
RawProjectPartFlags cProjectFlags;
|
||||
cProjectFlags.commandLineFlags = flags;
|
||||
rpp.setFlagsForC(cProjectFlags);
|
||||
|
||||
CppTools::RawProjectPartFlags cxxProjectFlags;
|
||||
RawProjectPartFlags cxxProjectFlags;
|
||||
cxxProjectFlags.commandLineFlags = flags;
|
||||
rpp.setFlagsForCxx(cxxProjectFlags);
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
|
||||
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
|
||||
private:
|
||||
void createNewServer();
|
||||
|
||||
@@ -260,14 +260,14 @@ static void processCMakeIncludes(const CMakeBuildTarget &cbt, const ToolChain *t
|
||||
}
|
||||
}
|
||||
|
||||
CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMessage)
|
||||
RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMessage)
|
||||
{
|
||||
Q_UNUSED(errorMessage)
|
||||
const ToolChain *tcCxx = ToolChainManager::findToolChain(m_parameters.cxxToolChainId);
|
||||
const ToolChain *tcC = ToolChainManager::findToolChain(m_parameters.cToolChainId);
|
||||
const FilePath sysroot = m_parameters.sysRoot;
|
||||
|
||||
CppTools::RawProjectParts rpps;
|
||||
RawProjectParts rpps;
|
||||
QHash<QString, QStringList> targetDataCacheCxx;
|
||||
QHash<QString, QStringList> targetDataCacheC;
|
||||
foreach (const CMakeBuildTarget &cbt, m_buildTargets) {
|
||||
@@ -288,16 +288,16 @@ CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMes
|
||||
includePaths = transform(cbt.includeFiles, &FilePath::toString);
|
||||
}
|
||||
includePaths += m_parameters.workDirectory.toString();
|
||||
CppTools::RawProjectPart rpp;
|
||||
RawProjectPart rpp;
|
||||
rpp.setProjectFileLocation(cbt.sourceDirectory.toString() + "/CMakeLists.txt");
|
||||
rpp.setBuildSystemTarget(cbt.title);
|
||||
rpp.setIncludePaths(includePaths);
|
||||
|
||||
CppTools::RawProjectPartFlags cProjectFlags;
|
||||
RawProjectPartFlags cProjectFlags;
|
||||
cProjectFlags.commandLineFlags = cflags;
|
||||
rpp.setFlagsForC(cProjectFlags);
|
||||
|
||||
CppTools::RawProjectPartFlags cxxProjectFlags;
|
||||
RawProjectPartFlags cxxProjectFlags;
|
||||
cxxProjectFlags.commandLineFlags = cxxflags;
|
||||
rpp.setFlagsForCxx(cxxProjectFlags);
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
|
||||
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
|
||||
|
||||
private:
|
||||
void extractData();
|
||||
|
||||
Reference in New Issue
Block a user