diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-08-28 13:04:16 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-09-10 07:31:21 +0000 |
commit | 8452264a186e94fe26a21bebf0f2d40d62891bbd (patch) | |
tree | 199fead48cd345a906b6a8797f89b9ce5fba1a60 /src/plugins | |
parent | a0352f24d0913c4a2852a9dbcd1c3bc9745801f8 (diff) | |
download | qt-creator-8452264a186e94fe26a21bebf0f2d40d62891bbd.tar.gz |
CppTools: Move QtVersion and BuildTargetType
QtVersion to utils/cpplanguage_details.h which already contains similar
flags.
BuildTargetType to ProjectExplorer, next to BuildTargetInfo (but not in the
same header to not pull that in everywhere).
Removes dependency on ProjectPart from RawProjectPart.
Change-Id: I5791065e4266f20c2657ee4b1b594df04b238a1c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins')
25 files changed, 104 insertions, 79 deletions
diff --git a/src/plugins/autotest/gtest/gtesttreeitem.cpp b/src/plugins/autotest/gtest/gtesttreeitem.cpp index c344669b3c..fdae1fa309 100644 --- a/src/plugins/autotest/gtest/gtesttreeitem.cpp +++ b/src/plugins/autotest/gtest/gtesttreeitem.cpp @@ -486,7 +486,7 @@ QSet<QString> GTestTreeItem::internalTargets() const return pf.path == file; })) { result.insert(projectPart->buildSystemTarget); - if (projectPart->buildTargetType != CppTools::ProjectPart::Executable) + if (projectPart->buildTargetType != ProjectExplorer::BuildTargetType::Executable) result.unite(TestTreeItem::dependingInternalTargets(cppMM, file)); } } diff --git a/src/plugins/autotest/quick/quicktesttreeitem.cpp b/src/plugins/autotest/quick/quicktesttreeitem.cpp index d896b56a3c..bb09159af1 100644 --- a/src/plugins/autotest/quick/quicktesttreeitem.cpp +++ b/src/plugins/autotest/quick/quicktesttreeitem.cpp @@ -418,7 +418,7 @@ QSet<QString> QuickTestTreeItem::internalTargets() const const auto cppMM = CppTools::CppModelManager::instance(); const auto projectInfo = cppMM->projectInfo(ProjectExplorer::SessionManager::startupProject()); for (const CppTools::ProjectPart::Ptr &projectPart : projectInfo.projectParts()) { - if (projectPart->buildTargetType != CppTools::ProjectPart::Executable) + if (projectPart->buildTargetType != ProjectExplorer::BuildTargetType::Executable) continue; if (projectPart->projectFile == proFile()) { result.insert(projectPart->buildSystemTarget); diff --git a/src/plugins/autotest/testtreeitem.cpp b/src/plugins/autotest/testtreeitem.cpp index b3db358f5e..4dd62f88ec 100644 --- a/src/plugins/autotest/testtreeitem.cpp +++ b/src/plugins/autotest/testtreeitem.cpp @@ -317,7 +317,7 @@ QSet<QString> TestTreeItem::internalTargets() const QSet<QString> targets; for (const CppTools::ProjectPart::Ptr &part : projectParts) { targets.insert(part->buildSystemTarget); - if (part->buildTargetType != CppTools::ProjectPart::Executable) + if (part->buildTargetType != ProjectExplorer::BuildTargetType::Executable) targets.unite(TestTreeItem::dependingInternalTargets(cppMM, m_filePath)); } return targets; diff --git a/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp b/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp index 4307e8b96f..fe533f5931 100644 --- a/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp +++ b/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp @@ -243,7 +243,7 @@ CppTools::ProjectPart::Ptr createProjectPart(const QStringList &files, projectPart->projectFile = QLatin1String("myproject.project"); foreach (const QString &file, files) projectPart->files.append(ProjectFile(file, ProjectFile::classify(file))); - projectPart->qtVersion = ProjectPart::NoQt; + projectPart->qtVersion = ::Utils::QtVersion::None; projectPart->projectMacros = macros; return projectPart; diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index fa6b5729b7..81b1af68df 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -317,8 +317,8 @@ CppTools::RawProjectParts generateRawProjectParts(const PreprocessedData &input, })); const bool isExecutable = t.type == "EXECUTABLE"; - rpp.setBuildTargetType(isExecutable ? CppTools::ProjectPart::Executable - : CppTools::ProjectPart::Library); + rpp.setBuildTargetType(isExecutable ? ProjectExplorer::BuildTargetType::Executable + : ProjectExplorer::BuildTargetType::Library); rpps.append(rpp); } } diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 6b6dc6d60b..c68cb3691f 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -335,8 +335,8 @@ CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &error rpp.setFiles(transform(fg->sources, &FilePath::toString)); const bool isExecutable = fg->target->type == "EXECUTABLE"; - rpp.setBuildTargetType(isExecutable ? CppTools::ProjectPart::Executable - : CppTools::ProjectPart::Library); + rpp.setBuildTargetType(isExecutable ? ProjectExplorer::BuildTargetType::Executable + : ProjectExplorer::BuildTargetType::Library); rpps.append(rpp); } diff --git a/src/plugins/cmakeprojectmanager/tealeafreader.cpp b/src/plugins/cmakeprojectmanager/tealeafreader.cpp index 0d9e4fb172..3a2fe0f920 100644 --- a/src/plugins/cmakeprojectmanager/tealeafreader.cpp +++ b/src/plugins/cmakeprojectmanager/tealeafreader.cpp @@ -306,8 +306,8 @@ CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMes rpp.setFiles(transform(cbt.files, &FilePath::toString)); const bool isExecutable = cbt.targetType == ExecutableType; - rpp.setBuildTargetType(isExecutable ? CppTools::ProjectPart::Executable - : CppTools::ProjectPart::Library); + rpp.setBuildTargetType(isExecutable ? ProjectExplorer::BuildTargetType::Executable + : ProjectExplorer::BuildTargetType::Library); rpps.append(rpp); } diff --git a/src/plugins/cppcheck/cppchecktool.cpp b/src/plugins/cppcheck/cppchecktool.cpp index 0c95f30fbd..02cb1d68de 100644 --- a/src/plugins/cppcheck/cppchecktool.cpp +++ b/src/plugins/cppcheck/cppchecktool.cpp @@ -169,8 +169,7 @@ QStringList CppcheckTool::additionalArguments(const CppTools::ProjectPart &part) break; } - using QtVersion = CppTools::ProjectPart::QtVersion; - if (part.qtVersion != QtVersion::NoQt) + if (part.qtVersion != Utils::QtVersion::None) result.push_back("--library=qt"); return result; diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 3d74ad8d32..e2858fb368 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -656,7 +656,7 @@ void CompilerOptionsBuilder::addWrappedQtHeadersIncludePath(QStringList &list) c static QString wrappedQtHeadersPath = resourcePath + "/cplusplus/wrappedQtHeaders"; QTC_ASSERT(QDir(wrappedQtHeadersPath).exists(), return;); - if (m_projectPart.qtVersion != ProjectPart::NoQt) { + if (m_projectPart.qtVersion != Utils::QtVersion::None) { const QString wrappedQtCoreHeaderPath = wrappedQtHeadersPath + "/QtCore"; list.append({includeUserPathOption, QDir::toNativeSeparators(wrappedQtHeadersPath), diff --git a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp index 950ef400e6..0907db98c6 100644 --- a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp +++ b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp @@ -148,23 +148,27 @@ QString Utils::toString(::Utils::LanguageExtensions languageExtension) return result; } -QString Utils::toString(ProjectPart::QtVersion qtVersion) +QString Utils::toString(::Utils::QtVersion qtVersion) { -#define CASE_QTVERSION(x) case ProjectPart::x: return QLatin1String(#x) +#define CASE_QTVERSION(x) \ + case ::Utils::QtVersion::x: \ + return QLatin1String(#x) switch (qtVersion) { - CASE_QTVERSION(UnknownQt); - CASE_QTVERSION(NoQt); - CASE_QTVERSION(Qt4); - CASE_QTVERSION(Qt5); - // no default to get a compiler warning if anything is added + CASE_QTVERSION(Unknown); + CASE_QTVERSION(None); + CASE_QTVERSION(Qt4); + CASE_QTVERSION(Qt5); + // no default to get a compiler warning if anything is added } #undef CASE_QTVERSION return QString(); } -QString Utils::toString(ProjectPart::BuildTargetType buildTargetType) +QString Utils::toString(ProjectExplorer::BuildTargetType buildTargetType) { -#define CASE_BUILDTARGETTYPE(x) case ProjectPart::x: return QLatin1String(#x) +#define CASE_BUILDTARGETTYPE(x) \ + case ProjectExplorer::BuildTargetType::x: \ + return QLatin1String(#x) switch (buildTargetType) { CASE_BUILDTARGETTYPE(Unknown); CASE_BUILDTARGETTYPE(Executable); diff --git a/src/plugins/cpptools/cppcodemodelinspectordumper.h b/src/plugins/cpptools/cppcodemodelinspectordumper.h index 9e30903d7f..c7769315c1 100644 --- a/src/plugins/cpptools/cppcodemodelinspectordumper.h +++ b/src/plugins/cpptools/cppcodemodelinspectordumper.h @@ -50,8 +50,8 @@ struct CPPTOOLS_EXPORT Utils static QString toString(ProjectExplorer::HeaderPathType type); static QString toString(::Utils::LanguageVersion languageVersion); static QString toString(::Utils::LanguageExtensions languageExtension); - static QString toString(CppTools::ProjectPart::QtVersion qtVersion); - static QString toString(CppTools::ProjectPart::BuildTargetType buildTargetType); + static QString toString(::Utils::QtVersion qtVersion); + static QString toString(ProjectExplorer::BuildTargetType buildTargetType); static QString toString(const QVector<CppTools::ProjectFile> &projectFiles); static QString toString(CppTools::ProjectFile::Kind kind); static QString toString(CPlusPlus::Kind kind); diff --git a/src/plugins/cpptools/cppkitinfo.h b/src/plugins/cpptools/cppkitinfo.h index d2f9a871bd..c7356d3f15 100644 --- a/src/plugins/cpptools/cppkitinfo.h +++ b/src/plugins/cpptools/cppkitinfo.h @@ -48,7 +48,7 @@ public: ProjectExplorer::ToolChain *cToolChain = nullptr; ProjectExplorer::ToolChain *cxxToolChain = nullptr; - ProjectPart::QtVersion projectPartQtVersion = ProjectPart::NoQt; + Utils::QtVersion projectPartQtVersion = Utils::QtVersion::None; QString sysRootPath; }; diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 71e32c33be..47c7df5bf9 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -1159,7 +1159,7 @@ ProjectPart::Ptr CppModelManager::fallbackProjectPart() part->languageExtensions &= ~Utils::LanguageExtensions( Utils::LanguageExtension::ObjectiveC); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->updateLanguageFeatures(); return part; diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index f84a3f176c..73da04531f 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -108,7 +108,7 @@ public: projectInfo = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; foreach (const QString &file, projectFiles) { ProjectFile projectFile(file, ProjectFile::classify(file)); part->files.append(projectFile); @@ -184,7 +184,7 @@ void CppToolsPlugin::test_modelmanager_paths_are_clean() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->projectMacros = {ProjectExplorer::Macro("OH_BEHAVE", "-1")}; part->headerPaths = {{testDataDir.includeDir(false), HeaderPathType::User}, {testDataDir.frameworksDir(false), HeaderPathType::Framework}}; @@ -214,7 +214,7 @@ void CppToolsPlugin::test_modelmanager_framework_headers() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->projectMacros = {{"OH_BEHAVE", "-1"}}; part->headerPaths = {{testDataDir.includeDir(false), HeaderPathType::User}, {testDataDir.frameworksDir(false), HeaderPathType::Framework}}; @@ -262,7 +262,7 @@ void CppToolsPlugin::test_modelmanager_refresh_also_includes_of_project_files() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->projectMacros = {{"OH_BEHAVE", "-1"}}; part->headerPaths = {{testDataDir.includeDir(false), HeaderPathType::User}}; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); @@ -318,7 +318,7 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); @@ -337,7 +337,7 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times() // Simulate project configuration change by having different defines each time. macros += {"ANOTHER_DEFINE"}; part->projectMacros = macros; - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); @@ -381,7 +381,7 @@ void CppToolsPlugin::test_modelmanager_refresh_test_for_changes() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); pi.appendProjectPart(part); @@ -417,7 +417,7 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); pi.appendProjectPart(part); @@ -438,7 +438,7 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed() // Now add testHeader2 and remove testHeader1 pi = ProjectInfo(project); ProjectPart::Ptr newPart(new ProjectPart); - newPart->qtVersion = ProjectPart::Qt5; + newPart->qtVersion = Utils::QtVersion::Qt5; newPart->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); newPart->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); pi.appendProjectPart(newPart); @@ -477,7 +477,7 @@ void CppToolsPlugin::test_modelmanager_refresh_timeStampModified_if_sourcefiles_ ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->qtVersion = ProjectPart::Qt5; + part->qtVersion = Utils::QtVersion::Qt5; foreach (const QString &file, initialProjectFiles) part->files.append(ProjectFile(file, ProjectFile::CXXSource)); pi = ProjectInfo(project); @@ -755,7 +755,7 @@ void CppToolsPlugin::test_modelmanager_defines_per_project() part1->projectFile = QLatin1String("project1.projectfile"); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->qtVersion = ProjectPart::NoQt; + part1->qtVersion = Utils::QtVersion::None; part1->projectMacros = {{"SUB1"}}; part1->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; @@ -763,7 +763,7 @@ void CppToolsPlugin::test_modelmanager_defines_per_project() part2->projectFile = QLatin1String("project1.projectfile"); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->qtVersion = ProjectPart::NoQt; + part2->qtVersion = Utils::QtVersion::None; part2->projectMacros = {{"SUB2"}}; part2->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; @@ -819,7 +819,7 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers() part1->projectFile = QLatin1String("project1.projectfile"); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->qtVersion = ProjectPart::NoQt; + part1->qtVersion = Utils::QtVersion::None; part1->precompiledHeaders.append(pch1File); part1->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; part1->updateLanguageFeatures(); @@ -828,7 +828,7 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers() part2->projectFile = QLatin1String("project2.projectfile"); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->qtVersion = ProjectPart::NoQt; + part2->qtVersion = Utils::QtVersion::None; part2->precompiledHeaders.append(pch2File); part2->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; part2->updateLanguageFeatures(); @@ -900,13 +900,13 @@ void CppToolsPlugin::test_modelmanager_defines_per_editor() ProjectPart::Ptr part1(new ProjectPart); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->qtVersion = ProjectPart::NoQt; + part1->qtVersion = Utils::QtVersion::None; part1->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; ProjectPart::Ptr part2(new ProjectPart); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->qtVersion = ProjectPart::NoQt; + part2->qtVersion = Utils::QtVersion::None; part2->headerPaths = {{testDataDirectory.includeDir(false), HeaderPathType::User}}; ProjectInfo pi = ProjectInfo(project); @@ -985,7 +985,7 @@ void CppToolsPlugin::test_modelmanager_updateEditorsAfterProjectUpdate() part->project = project; part->files.append(ProjectFile(fileA, ProjectFile::CXXSource)); part->files.append(ProjectFile(fileB, ProjectFile::CXXSource)); - part->qtVersion = ProjectPart::NoQt; + part->qtVersion = Utils::QtVersion::None; ProjectInfo pi = ProjectInfo(project); pi.appendProjectPart(part); diff --git a/src/plugins/cpptools/cpprawprojectpart.cpp b/src/plugins/cpptools/cpprawprojectpart.cpp index 8c97e493bd..e9db6acacb 100644 --- a/src/plugins/cpptools/cpprawprojectpart.cpp +++ b/src/plugins/cpptools/cpprawprojectpart.cpp @@ -100,7 +100,7 @@ void RawProjectPart::setCallGroupId(const QString &id) callGroupId = id; } -void RawProjectPart::setQtVersion(ProjectPart::QtVersion qtVersion) +void RawProjectPart::setQtVersion(Utils::QtVersion qtVersion) { this->qtVersion = qtVersion; } @@ -143,7 +143,7 @@ void RawProjectPart::setFlagsForCxx(const RawProjectPartFlags &flags) flagsForCxx = flags; } -void RawProjectPart::setBuildTargetType(ProjectPart::BuildTargetType type) +void RawProjectPart::setBuildTargetType(ProjectExplorer::BuildTargetType type) { buildTargetType = type; } diff --git a/src/plugins/cpptools/cpprawprojectpart.h b/src/plugins/cpptools/cpprawprojectpart.h index f079dc5e45..38076fb0fe 100644 --- a/src/plugins/cpptools/cpprawprojectpart.h +++ b/src/plugins/cpptools/cpprawprojectpart.h @@ -26,8 +26,9 @@ #pragma once #include "cpptools_global.h" -#include "projectpart.h" +#include <projectexplorer/buildtargettype.h> +#include <projectexplorer/projectexplorer_global.h> #include <projectexplorer/toolchain.h> #include <utils/cpplanguage_details.h> @@ -70,14 +71,14 @@ public: void setPreCompiledHeaders(const QStringList &preCompiledHeaders); void setBuildSystemTarget(const QString &target); - void setBuildTargetType(ProjectPart::BuildTargetType type); + void setBuildTargetType(ProjectExplorer::BuildTargetType type); void setSelectedForBuilding(bool yesno); void setFlagsForC(const RawProjectPartFlags &flags); void setFlagsForCxx(const RawProjectPartFlags &flags); void setMacros(const ProjectExplorer::Macros ¯os); - void setQtVersion(ProjectPart::QtVersion qtVersion); + void setQtVersion(Utils::QtVersion qtVersion); public: QString displayName; @@ -97,7 +98,7 @@ public: // Build system QString buildSystemTarget; - ProjectPart::BuildTargetType buildTargetType = ProjectPart::BuildTargetType::Unknown; + ProjectExplorer::BuildTargetType buildTargetType = ProjectExplorer::BuildTargetType::Unknown; bool selectedForBuilding = true; // Flags @@ -106,7 +107,7 @@ public: // Misc ProjectExplorer::Macros projectMacros; - ProjectPart::QtVersion qtVersion = ProjectPart::UnknownQt; + Utils::QtVersion qtVersion = Utils::QtVersion::Unknown; }; using RawProjectParts = QVector<RawProjectPart>; diff --git a/src/plugins/cpptools/projectpart.cpp b/src/plugins/cpptools/projectpart.cpp index 2205fb07b5..f88fefac82 100644 --- a/src/plugins/cpptools/projectpart.cpp +++ b/src/plugins/cpptools/projectpart.cpp @@ -36,7 +36,7 @@ namespace CppTools { void ProjectPart::updateLanguageFeatures() { const bool hasCxx = languageVersion >= Utils::LanguageVersion::CXX98; - const bool hasQt = hasCxx && qtVersion != NoQt; + const bool hasQt = hasCxx && qtVersion != Utils::QtVersion::None; languageFeatures.cxx11Enabled = languageVersion >= Utils::LanguageVersion::CXX11; languageFeatures.cxx14Enabled = languageVersion >= Utils::LanguageVersion::CXX14; languageFeatures.cxxEnabled = hasCxx; diff --git a/src/plugins/cpptools/projectpart.h b/src/plugins/cpptools/projectpart.h index 71df5e1ee5..41324d0e8a 100644 --- a/src/plugins/cpptools/projectpart.h +++ b/src/plugins/cpptools/projectpart.h @@ -29,6 +29,7 @@ #include "cppprojectfile.h" +#include <projectexplorer/buildtargettype.h> #include <projectexplorer/headerpath.h> #include <projectexplorer/projectexplorer_global.h> #include <projectexplorer/projectmacro.h> @@ -53,24 +54,11 @@ namespace CppTools { class CPPTOOLS_EXPORT ProjectPart { public: - enum QtVersion { - UnknownQt = -1, - NoQt, - Qt4, - Qt5 - }; - enum ToolChainWordWidth { WordWidth32Bit, WordWidth64Bit, }; - enum BuildTargetType { - Unknown, - Executable, - Library - }; - using Ptr = QSharedPointer<ProjectPart>; public: @@ -97,7 +85,7 @@ public: ::Utils::LanguageVersion languageVersion = ::Utils::LanguageVersion::LatestCxx; ::Utils::LanguageExtensions languageExtensions = ::Utils::LanguageExtension::None; CPlusPlus::LanguageFeatures languageFeatures; - QtVersion qtVersion = UnknownQt; + ::Utils::QtVersion qtVersion = ::Utils::QtVersion::Unknown; // Files ProjectFiles files; @@ -111,7 +99,7 @@ public: // Build system QString buildSystemTarget; - BuildTargetType buildTargetType = Unknown; + ProjectExplorer::BuildTargetType buildTargetType = ProjectExplorer::BuildTargetType::Unknown; bool selectedForBuilding = true; // ToolChain diff --git a/src/plugins/projectexplorer/CMakeLists.txt b/src/plugins/projectexplorer/CMakeLists.txt index 0476aea722..bebc97b069 100644 --- a/src/plugins/projectexplorer/CMakeLists.txt +++ b/src/plugins/projectexplorer/CMakeLists.txt @@ -23,6 +23,7 @@ add_qtc_plugin(ProjectExplorer buildstepspage.cpp buildstepspage.h buildsystem.cpp buildsystem.h buildtargetinfo.h + buildtargettype.h clangparser.cpp clangparser.h codestylesettingspropertiespage.cpp codestylesettingspropertiespage.h codestylesettingspropertiespage.ui compileoutputwindow.cpp compileoutputwindow.h diff --git a/src/plugins/projectexplorer/buildtargettype.h b/src/plugins/projectexplorer/buildtargettype.h new file mode 100644 index 0000000000..9e2d162e9d --- /dev/null +++ b/src/plugins/projectexplorer/buildtargettype.h @@ -0,0 +1,32 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#pragma once + +namespace ProjectExplorer { + +enum class BuildTargetType { Unknown, Executable, Library }; + +} // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro index f8d9045712..998838467a 100644 --- a/src/plugins/projectexplorer/projectexplorer.pro +++ b/src/plugins/projectexplorer/projectexplorer.pro @@ -14,6 +14,7 @@ HEADERS += projectexplorer.h \ ansifilterparser.h \ buildinfo.h \ buildsystem.h \ + buildtargettype.h \ clangparser.h \ configtaskhandler.h \ desktoprunconfiguration.h \ diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index 1708495ca2..828ae88f76 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -42,6 +42,7 @@ Project { "buildstepspage.cpp", "buildstepspage.h", "buildsystem.cpp", "buildsystem.h", "buildtargetinfo.h", + "buildtargettype.h", "clangparser.cpp", "clangparser.h", "codestylesettingspropertiespage.cpp", "codestylesettingspropertiespage.h", "codestylesettingspropertiespage.ui", "compileoutputwindow.cpp", "compileoutputwindow.h", diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index b2b8d816d9..e8d7d56b7d 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -898,10 +898,10 @@ void QbsProject::updateCppCodeModel() std::for_each(sourceArtifacts.cbegin(), sourceArtifacts.cend(), pchFinder); } - const CppTools::ProjectPart::QtVersion qtVersionForPart = - prd.moduleProperties().getModuleProperty("Qt.core", "version").isValid() - ? kitInfo.projectPartQtVersion - : CppTools::ProjectPart::NoQt; + const Utils::QtVersion qtVersionForPart + = prd.moduleProperties().getModuleProperty("Qt.core", "version").isValid() + ? kitInfo.projectPartQtVersion + : Utils::QtVersion::None; foreach (const qbs::GroupData &grp, prd.groups()) { CppTools::RawProjectPart rpp; @@ -947,8 +947,8 @@ void QbsProject::updateCppCodeModel() rpp.setProjectFileLocation(grp.location().filePath(), grp.location().line(), grp.location().column()); rpp.setBuildSystemTarget(uniqueProductName(prd)); - rpp.setBuildTargetType(prd.isRunnable() ? CppTools::ProjectPart::Executable - : CppTools::ProjectPart::Library); + rpp.setBuildTargetType(prd.isRunnable() ? ProjectExplorer::BuildTargetType::Executable + : ProjectExplorer::BuildTargetType::Library); QHash<QString, qbs::ArtifactData> filePathToSourceArtifact; bool hasCFiles = false; diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 5716f20a69..47aa742bc1 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -222,8 +222,6 @@ void QmakeProject::updateCodeModels() void QmakeProject::updateCppCodeModel() { - using ProjectPart = CppTools::ProjectPart; - m_toolChainWarnings.clear(); QtSupport::CppKitInfo kitInfo(this); @@ -239,8 +237,8 @@ void QmakeProject::updateCppCodeModel() rpp.setProjectFileLocation(pro->filePath().toString()); rpp.setBuildSystemTarget(pro->filePath().toString()); const bool isExecutable = pro->projectType() == ProjectType::ApplicationTemplate; - rpp.setBuildTargetType(isExecutable ? CppTools::ProjectPart::Executable - : CppTools::ProjectPart::Library); + rpp.setBuildTargetType(isExecutable ? ProjectExplorer::BuildTargetType::Executable + : ProjectExplorer::BuildTargetType::Library); rpp.setFlagsForCxx({kitInfo.cxxToolChain, pro->variableValue(Variable::CppFlags)}); rpp.setFlagsForC({kitInfo.cToolChain, pro->variableValue(Variable::CFlags)}); @@ -252,7 +250,7 @@ void QmakeProject::updateCppCodeModel() if (pro->variableValue(Variable::Config).contains(QLatin1String("qt"))) rpp.setQtVersion(kitInfo.projectPartQtVersion); else - rpp.setQtVersion(ProjectPart::NoQt); + rpp.setQtVersion(Utils::QtVersion::None); // Header paths ProjectExplorer::HeaderPaths headerPaths; diff --git a/src/plugins/qtsupport/qtcppkitinfo.cpp b/src/plugins/qtsupport/qtcppkitinfo.cpp index 07e404cce4..0d69e087b4 100644 --- a/src/plugins/qtsupport/qtcppkitinfo.cpp +++ b/src/plugins/qtsupport/qtcppkitinfo.cpp @@ -37,9 +37,9 @@ CppKitInfo::CppKitInfo(ProjectExplorer::Project *project) { if (kit && (qtVersion = QtKitAspect::qtVersion(kit))) { if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5, 0, 0)) - projectPartQtVersion = ProjectPart::Qt4; + projectPartQtVersion = Utils::QtVersion::Qt4; else - projectPartQtVersion = ProjectPart::Qt5; + projectPartQtVersion = Utils::QtVersion::Qt5; } } |