diff --git a/src/plugins/ios/iosrunfactories.cpp b/src/plugins/ios/iosrunfactories.cpp index 0d529bc371b..729bc0d90ee 100644 --- a/src/plugins/ios/iosrunfactories.cpp +++ b/src/plugins/ios/iosrunfactories.cpp @@ -44,8 +44,8 @@ #include #include -#include #include +#include #include using namespace Debugger; @@ -99,10 +99,9 @@ QList IosRunConfigurationFactory::availableCreationIds(Target *parent, return QList(); QmakeProject *project = static_cast(parent->project()); - QList nodes = project->allProFiles(QList() - << ApplicationTemplate - << SharedLibraryTemplate - << AuxTemplate); + QList nodes = project->allProFiles({ ProjectType::ApplicationTemplate, + ProjectType::SharedLibraryTemplate, + ProjectType::AuxTemplate }); if (mode == AutoCreate) nodes = QmakeProject::nodesWithQtcRunnable(nodes); Core::Id baseId(IOS_RC_ID_PREFIX); diff --git a/src/plugins/qmakeandroidsupport/androidextralibrarylistmodel.cpp b/src/plugins/qmakeandroidsupport/androidextralibrarylistmodel.cpp index 433bd456264..2caf5860cb1 100644 --- a/src/plugins/qmakeandroidsupport/androidextralibrarylistmodel.cpp +++ b/src/plugins/qmakeandroidsupport/androidextralibrarylistmodel.cpp @@ -98,7 +98,7 @@ void AndroidExtraLibraryListModel::activeRunConfigurationChanged() bool enabled; beginResetModel(); - if (node->validParse() && node->projectType() == QmakeProjectManager::ApplicationTemplate) { + if (node->validParse() && node->projectType() == QmakeProjectManager::ProjectType::ApplicationTemplate) { m_entries = node->variableValue(QmakeProjectManager::AndroidExtraLibs); enabled = true; } else { @@ -135,7 +135,7 @@ bool AndroidExtraLibraryListModel::isEnabled() const return false; if (node->parseInProgress()) return false; - if (node->projectType() != QmakeProjectManager::ApplicationTemplate) + if (node->projectType() != QmakeProjectManager::ProjectType::ApplicationTemplate) return false; return true; } @@ -143,7 +143,7 @@ bool AndroidExtraLibraryListModel::isEnabled() const void AndroidExtraLibraryListModel::addEntries(const QStringList &list) { QmakeProjectManager::QmakeProFileNode *node = activeNode(); - if (!node || node->projectType() != QmakeProjectManager::ApplicationTemplate) + if (!node || node->projectType() != QmakeProjectManager::ProjectType::ApplicationTemplate) return; beginInsertRows(QModelIndex(), m_entries.size(), m_entries.size() + list.size()); @@ -167,7 +167,7 @@ bool greaterModelIndexByRow(const QModelIndex &a, const QModelIndex &b) void AndroidExtraLibraryListModel::removeEntries(QModelIndexList list) { QmakeProjectManager::QmakeProFileNode *node = activeNode(); - if (list.isEmpty() || !node || node->projectType() != QmakeProjectManager::ApplicationTemplate) + if (list.isEmpty() || !node || node->projectType() != QmakeProjectManager::ProjectType::ApplicationTemplate) return; std::sort(list.begin(), list.end(), greaterModelIndexByRow); diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp index 3641a6a5741..6c4a609cfd3 100644 --- a/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp +++ b/src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp @@ -84,9 +84,8 @@ QList QmakeAndroidRunConfigurationFactory::availableCreationIds(Target return QList(); QmakeProject *project = static_cast(parent->project()); - QList nodes = project->allProFiles(QList() - << ApplicationTemplate - << SharedLibraryTemplate); + QList nodes = project->allProFiles({ ProjectType::ApplicationTemplate, + ProjectType::SharedLibraryTemplate }); if (mode == AutoCreate) nodes = QmakeProject::nodesWithQtcRunnable(nodes); diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidsupport.cpp b/src/plugins/qmakeandroidsupport/qmakeandroidsupport.cpp index 49aac49255b..f18432e7764 100644 --- a/src/plugins/qmakeandroidsupport/qmakeandroidsupport.cpp +++ b/src/plugins/qmakeandroidsupport/qmakeandroidsupport.cpp @@ -85,7 +85,7 @@ QStringList QmakeAndroidSupport::projectTargetApplications(const ProjectExplorer if (!qmakeProject) return apps; foreach (QmakeProFileNode *proFile, qmakeProject->applicationProFiles()) { - if (proFile->projectType() == ApplicationTemplate) { + if (proFile->projectType() == ProjectType::ApplicationTemplate) { if (proFile->targetInformation().target.startsWith(QLatin1String("lib")) && proFile->targetInformation().target.endsWith(QLatin1String(".so"))) apps << proFile->targetInformation().target.mid(3, proFile->targetInformation().target.lastIndexOf(QLatin1Char('.')) - 3); diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp index 9c82c01b5db..029f910df93 100644 --- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp +++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp @@ -27,6 +27,7 @@ #include "ui_librarydetailswidget.h" #include "findqmakeprofiles.h" #include "qmakenodes.h" +#include "qmakeparsernodes.h" #include "qmakebuildconfiguration.h" #include @@ -1004,8 +1005,8 @@ void InternalLibraryDetailsController::updateProFile() QList proFiles = findQt4ProFiles(rootProject); foreach (QmakeProFileNode *proFileNode, proFiles) { const QString proFilePath = proFileNode->filePath().toString(); - QmakeProjectManager::QmakeProjectType type = proFileNode->projectType(); - if (type == SharedLibraryTemplate || type == StaticLibraryTemplate) { + QmakeProjectManager::ProjectType type = proFileNode->projectType(); + if (type == ProjectType::SharedLibraryTemplate || type == ProjectType::StaticLibraryTemplate) { const QStringList configVar = proFileNode->variableValue(ConfigVar); if (!configVar.contains(QLatin1String("plugin"))) { const QString relProFilePath = rootDir.relativeFilePath(proFilePath); diff --git a/src/plugins/qmakeprojectmanager/makestep.cpp b/src/plugins/qmakeprojectmanager/makestep.cpp index 1eecbfa625f..e43933504bd 100644 --- a/src/plugins/qmakeprojectmanager/makestep.cpp +++ b/src/plugins/qmakeprojectmanager/makestep.cpp @@ -269,7 +269,7 @@ bool MakeStep::init(QList &earlierSteps) appendOutputParser(new QMakeParser); // make may cause qmake to be run, add last to make sure // it has a low priority. - m_scriptTarget = (static_cast(bc->target()->project())->rootProjectNode()->projectType() == ScriptTemplate); + m_scriptTarget = (static_cast(bc->target()->project())->rootProjectNode()->projectType() == ProjectType::ScriptTemplate); return AbstractProcessStep::init(earlierSteps); } diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 4f73caeb990..d9813187fce 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -218,7 +218,7 @@ class EvalResult public: enum EvalResultState { EvalAbort, EvalFail, EvalPartial, EvalOk }; EvalResultState state; - QmakeProjectType projectType; + ProjectType projectType; QStringList subProjectsNotToDeploy; QSet exactSubdirs; @@ -765,10 +765,10 @@ QList QmakePriFileNode::supportedActions(Node *node) const Q_ASSERT(proFileNode); switch (proFileNode->projectType()) { - case ApplicationTemplate: - case StaticLibraryTemplate: - case SharedLibraryTemplate: - case AuxTemplate: { + case ProjectType::ApplicationTemplate: + case ProjectType::StaticLibraryTemplate: + case ProjectType::SharedLibraryTemplate: + case ProjectType::AuxTemplate: { // TODO: Some of the file types don't make much sense for aux // projects (e.g. cpp). It'd be nice if the "add" action could // work on a subset of the file types according to project type. @@ -799,7 +799,7 @@ QList QmakePriFileNode::supportedActions(Node *node) const break; } - case SubDirsTemplate: + case ProjectType::SubDirsTemplate: actions << AddSubProject << RemoveSubProject; break; default: @@ -1367,24 +1367,24 @@ QSet QmakePriFileNode::filterFilesRecursiveEnumerata(FileType fileType } // namespace QmakeProjectManager -static QmakeProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type) +static ProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type) { switch (type) { case ProFileEvaluator::TT_Unknown: case ProFileEvaluator::TT_Application: - return ApplicationTemplate; + return ProjectType::ApplicationTemplate; case ProFileEvaluator::TT_StaticLibrary: - return StaticLibraryTemplate; + return ProjectType::StaticLibraryTemplate; case ProFileEvaluator::TT_SharedLibrary: - return SharedLibraryTemplate; + return ProjectType::SharedLibraryTemplate; case ProFileEvaluator::TT_Script: - return ScriptTemplate; + return ProjectType::ScriptTemplate; case ProFileEvaluator::TT_Aux: - return AuxTemplate; + return ProjectType::AuxTemplate; case ProFileEvaluator::TT_Subdirs: - return SubDirsTemplate; + return ProjectType::SubDirsTemplate; default: - return InvalidProject; + return ProjectType::Invalid; } } @@ -1514,9 +1514,11 @@ FolderNode::AddNewInformation QmakeProFileNode::addNewInformation(const QStringL return AddNewInformation(filePath().fileName(), context && context->parentProjectNode() == this ? 120 : 100); } -bool QmakeProFileNode::showInSimpleTree(QmakeProjectType projectType) const +bool QmakeProFileNode::showInSimpleTree(ProjectType projectType) const { - return (projectType == ApplicationTemplate || projectType == SharedLibraryTemplate || projectType == StaticLibraryTemplate); + return projectType == ProjectType::ApplicationTemplate + || projectType == ProjectType::SharedLibraryTemplate + || projectType == ProjectType::StaticLibraryTemplate; } bool QmakeProFileNode::isDebugAndRelease() const @@ -1531,7 +1533,7 @@ bool QmakeProFileNode::isQtcRunnable() const return configValues.contains(QLatin1String("qtc_runnable")); } -QmakeProjectType QmakeProFileNode::projectType() const +ProjectType QmakeProFileNode::projectType() const { return m_projectType; } @@ -1694,7 +1696,7 @@ EvalResult *QmakeProFileNode::evaluate(const EvalInput &input) (result->state == EvalResult::EvalOk ? input.readerExact : input.readerCumulative)->templateType()); if (result->state == EvalResult::EvalOk) { - if (result->projectType == SubDirsTemplate) { + if (result->projectType == ProjectType::SubDirsTemplate) { QStringList errors; FileNameList subDirs = subDirsPaths(input.readerExact, input.projectDir, &result->subProjectsNotToDeploy, &errors); result->errors.append(errors); @@ -1732,7 +1734,7 @@ EvalResult *QmakeProFileNode::evaluate(const EvalInput &input) } } - if (result->projectType == SubDirsTemplate) { + if (result->projectType == ProjectType::SubDirsTemplate) { FileNameList subDirs = subDirsPaths(input.readerCumulative, input.projectDir, 0, 0); foreach (const Utils::FileName &subDirName, subDirs) { auto it = result->includedFiles.children.find(subDirName); @@ -1918,12 +1920,12 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult) if (result->state == EvalResult::EvalFail) { QmakeProject::proFileParseError(QCoreApplication::translate("QmakeProFileNode", "Error while parsing file %1. Giving up.") .arg(m_projectFilePath.toUserOutput())); - if (m_projectType == InvalidProject) + if (m_projectType == ProjectType::Invalid) return; // delete files && folders && projects makeEmpty(); - m_projectType = InvalidProject; + m_projectType = ProjectType::Invalid; } return; } @@ -2304,8 +2306,9 @@ void QmakeProFileNode::updateGeneratedFiles(const QString &buildDir) m_extraCompilers.clear(); // Only those project types can have generated files for us - if (m_projectType != ApplicationTemplate && m_projectType != SharedLibraryTemplate && - m_projectType != StaticLibraryTemplate) { + if (m_projectType != ProjectType::ApplicationTemplate + && m_projectType != ProjectType::SharedLibraryTemplate + && m_projectType != ProjectType::StaticLibraryTemplate) { return; } diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index a031cb9232e..80208b5f4f4 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -26,6 +26,7 @@ #pragma once #include "qmakeprojectmanager_global.h" +#include "qmakeparsernodes.h" #include "proparser/prowriter.h" #include "proparser/profileevaluator.h" @@ -49,17 +50,6 @@ class QmakeBuildConfiguration; class QmakeProFileNode; class QmakeProject; -// Type of projects -enum QmakeProjectType { - InvalidProject = 0, - ApplicationTemplate, - StaticLibraryTemplate, - SharedLibraryTemplate, - ScriptTemplate, - AuxTemplate, - SubDirsTemplate -}; - // Other variables of interest enum QmakeVariable { DefinesVar = 1, @@ -273,7 +263,7 @@ public: AddNewInformation addNewInformation(const QStringList &files, Node *context) const override; - QmakeProjectType projectType() const; + QmakeProjectManager::ProjectType projectType() const; QStringList variableValue(const QmakeVariable var) const; QString singleVariableValue(const QmakeVariable var) const; @@ -305,7 +295,7 @@ public: bool validParse() const; bool parseInProgress() const; - bool showInSimpleTree(QmakeProjectType projectType) const; + bool showInSimpleTree(ProjectType projectType) const; bool isDebugAndRelease() const; bool isQtcRunnable() const; @@ -345,7 +335,7 @@ private: bool m_validParse = false; bool m_parseInProgress = false; - QmakeProjectType m_projectType = InvalidProject; + ProjectType m_projectType = ProjectType::Invalid; QmakeVariablesHash m_varValues; QList m_extraCompilers; diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp index 000ca7229f6..13238e1672f 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp @@ -1374,24 +1374,24 @@ QSet QmakeParserPriFileNode::filterFilesRecursiveEnumerata(FileType fi } // namespace QmakeProjectManager -static QmakeProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type) +static ProjectType proFileTemplateTypeToProjectType(ProFileEvaluator::TemplateType type) { switch (type) { case ProFileEvaluator::TT_Unknown: case ProFileEvaluator::TT_Application: - return ApplicationTemplate; + return ProjectType::ApplicationTemplate; case ProFileEvaluator::TT_StaticLibrary: - return StaticLibraryTemplate; + return ProjectType::StaticLibraryTemplate; case ProFileEvaluator::TT_SharedLibrary: - return SharedLibraryTemplate; + return ProjectType::SharedLibraryTemplate; case ProFileEvaluator::TT_Script: - return ScriptTemplate; + return ProjectType::ScriptTemplate; case ProFileEvaluator::TT_Aux: - return AuxTemplate; + return ProjectType::AuxTemplate; case ProFileEvaluator::TT_Subdirs: - return SubDirsTemplate; + return ProjectType::SubDirsTemplate; default: - return InvalidProject; + return ProjectType::Invalid; } } diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 984d50afa89..0b1c911b1bd 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -848,7 +848,7 @@ bool QmakeProject::parseInProgress(const FileName &proFilePath) const } void QmakeProject::collectAllProFiles(QList &list, QmakeProFileNode *node, Parsing parse, - const QList &projectTypes) + const QList &projectTypes) { if (parse == ExactAndCumulativeParse || node->includedInExactParse()) if (projectTypes.isEmpty() || projectTypes.contains(node->projectType())) @@ -862,10 +862,10 @@ void QmakeProject::collectAllProFiles(QList &list, QmakeProF QList QmakeProject::applicationProFiles(Parsing parse) const { - return allProFiles(QList() << ApplicationTemplate << ScriptTemplate, parse); + return allProFiles({ ProjectType::ApplicationTemplate, ProjectType::ScriptTemplate }, parse); } -QList QmakeProject::allProFiles(const QList &projectTypes, Parsing parse) const +QList QmakeProject::allProFiles(const QList &projectTypes, Parsing parse) const { QList list; if (!rootProjectNode()) @@ -1234,15 +1234,15 @@ void QmakeProject::collectData(const QmakeProFileNode *node, DeploymentData &dep } switch (node->projectType()) { - case ApplicationTemplate: + case ProjectType::ApplicationTemplate: if (!installsList.targetPath.isEmpty()) collectApplicationData(node, deploymentData); break; - case SharedLibraryTemplate: - case StaticLibraryTemplate: + case ProjectType::SharedLibraryTemplate: + case ProjectType::StaticLibraryTemplate: collectLibraryData(node, deploymentData); break; - case SubDirsTemplate: + case ProjectType::SubDirsTemplate: foreach (const ProjectNode * const subProject, node->subProjectNodesExact()) { const QmakeProFileNode * const qt4SubProject = dynamic_cast(subProject); diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 259262a35a0..940de1644fe 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -28,6 +28,7 @@ #include "qmakeprojectmanager_global.h" #include "qmakeprojectmanager.h" #include "qmakenodes.h" +#include "qmakeparsernodes.h" #include @@ -75,7 +76,7 @@ public: virtual QStringList filesGeneratedFrom(const QString &file) const final; enum Parsing {ExactParse, ExactAndCumulativeParse }; - QList allProFiles(const QList &projectTypes = QList(), + QList allProFiles(const QList &projectTypes = QList(), Parsing parse = ExactParse) const; QList applicationProFiles(Parsing parse = ExactParse) const; bool hasApplicationProFile(const Utils::FileName &path) const; @@ -162,7 +163,7 @@ private: void updateQmlJSCodeModel(); static void collectAllProFiles(QList &list, QmakeProFileNode *node, Parsing parse, - const QList &projectTypes); + const QList &projectTypes); static void findProFile(const Utils::FileName &fileName, QmakeProFileNode *root, QList &list); static bool hasSubNode(QmakePriFileNode *root, const Utils::FileName &path); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index ae02a4130cf..e20fe2f3853 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -263,7 +263,7 @@ bool QMakeStep::init(QList &earlierSteps) } } - m_scriptTemplate = node->projectType() == ScriptTemplate; + m_scriptTemplate = node->projectType() == ProjectType::ScriptTemplate; return AbstractProcessStep::init(earlierSteps); }