forked from qt-creator/qt-creator
fill in project name for CMake projects
This commit is contained in:
@@ -87,6 +87,7 @@ void CMakeProject::parseCMakeLists(const QDir &directory)
|
||||
CMakeCbpParser cbpparser;
|
||||
qDebug()<<"Parsing file "<<cbpFile;
|
||||
if (cbpparser.parseCbpFile(cbpFile)) {
|
||||
m_projectName = cbpparser.projectName();
|
||||
qDebug()<<"Building Tree";
|
||||
// TODO do a intelligent updating of the tree
|
||||
buildTree(m_rootNode, cbpparser.fileList());
|
||||
@@ -200,8 +201,7 @@ ProjectExplorer::FolderNode *CMakeProject::findOrCreateFolder(CMakeProjectNode *
|
||||
|
||||
QString CMakeProject::name() const
|
||||
{
|
||||
// TODO
|
||||
return "";
|
||||
return m_projectName;
|
||||
}
|
||||
|
||||
Core::IFile *CMakeProject::file() const
|
||||
@@ -469,6 +469,8 @@ void CMakeCbpParser::parseProject()
|
||||
readNext();
|
||||
if (isEndElement()) {
|
||||
return;
|
||||
} else if (name() == "Option") {
|
||||
parseOption();
|
||||
} else if (name() == "Unit") {
|
||||
parseUnit();
|
||||
} else if (name() == "Build") {
|
||||
@@ -537,6 +539,19 @@ void CMakeCbpParser::parseTargetOption()
|
||||
}
|
||||
}
|
||||
|
||||
QString CMakeCbpParser::projectName() const
|
||||
{
|
||||
return m_projectName;
|
||||
}
|
||||
|
||||
void CMakeCbpParser::parseOption()
|
||||
{
|
||||
if (attributes().hasAttribute("title"))
|
||||
m_projectName = attributes().value("title").toString();
|
||||
if(isStartElement())
|
||||
parseUnknownElement();
|
||||
}
|
||||
|
||||
void CMakeCbpParser::parseMakeCommand()
|
||||
{
|
||||
while (!atEnd()) {
|
||||
|
@@ -118,6 +118,7 @@ private:
|
||||
CMakeManager *m_manager;
|
||||
QString m_fileName;
|
||||
CMakeFile *m_file;
|
||||
QString m_projectName;
|
||||
|
||||
// TODO probably need a CMake specific node structure
|
||||
CMakeProjectNode* m_rootNode;
|
||||
@@ -137,10 +138,12 @@ public:
|
||||
QList<ProjectExplorer::FileNode *> fileList();
|
||||
QStringList includeFiles();
|
||||
QList<CMakeTarget> targets();
|
||||
QString projectName() const;
|
||||
private:
|
||||
void parseCodeBlocks_project_file();
|
||||
void parseProject();
|
||||
void parseBuild();
|
||||
void parseOption();
|
||||
void parseTarget();
|
||||
void parseTargetOption();
|
||||
void parseMakeCommand();
|
||||
@@ -157,6 +160,7 @@ private:
|
||||
CMakeTarget m_target;
|
||||
bool m_targetType;
|
||||
QList<CMakeTarget> m_targets;
|
||||
QString m_projectName;
|
||||
};
|
||||
|
||||
class CMakeFile : public Core::IFile
|
||||
|
Reference in New Issue
Block a user