diff options
author | hjk <hjk@qt.io> | 2023-01-11 15:46:28 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-01-12 15:13:02 +0000 |
commit | 44a9f5a63a09e5994542df6265b6813f44d29dbe (patch) | |
tree | f388a638bd4427e3e54eee3936713d064ee5d99e | |
parent | ccb6176a33279c81498bf04aefc1143806c9614f (diff) | |
download | qt-creator-44a9f5a63a09e5994542df6265b6813f44d29dbe.tar.gz |
Qmake: Use FilePath in QtVersion::reportIssues
Change-Id: Ia848248525238c316d6f6f120d915b9bdb28b8fe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
9 files changed, 24 insertions, 26 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 84fb831e43..cd9d8886aa 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -643,8 +643,8 @@ BuildConfigurationFactory::~BuildConfigurationFactory() g_buildConfigurationFactories.removeOne(this); } -const Tasks BuildConfigurationFactory::reportIssues(ProjectExplorer::Kit *kit, const QString &projectPath, - const QString &buildDir) const +const Tasks BuildConfigurationFactory::reportIssues(Kit *kit, const FilePath &projectPath, + const FilePath &buildDir) const { if (m_issueReporter) return m_issueReporter(kit, projectPath, buildDir); diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 6477fe4461..7d2a779bbd 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -155,10 +155,12 @@ public: static BuildConfigurationFactory *find(const Kit *k, const Utils::FilePath &projectPath); static BuildConfigurationFactory *find(Target *parent); - using IssueReporter = std::function<Tasks(Kit *, const QString &, const QString &)>; + using IssueReporter + = std::function<Tasks(Kit *, const Utils::FilePath &, const Utils::FilePath &)>; void setIssueReporter(const IssueReporter &issueReporter); const Tasks reportIssues(ProjectExplorer::Kit *kit, - const QString &projectPath, const QString &buildDir) const; + const Utils::FilePath &projectPath, + const Utils::FilePath &buildDir) const; protected: using BuildGenerator diff --git a/src/plugins/projectexplorer/targetsetupwidget.cpp b/src/plugins/projectexplorer/targetsetupwidget.cpp index 2b331c99c8..eacd073a3b 100644 --- a/src/plugins/projectexplorer/targetsetupwidget.cpp +++ b/src/plugins/projectexplorer/targetsetupwidget.cpp @@ -340,10 +340,9 @@ QPair<Task::TaskType, QString> TargetSetupWidget::findIssues(const BuildInfo &in if (m_projectPath.isEmpty() || !info.factory) return {Task::Unknown, {}}; - QString buildDir = info.buildDirectory.toString(); Tasks issues; if (info.factory) - issues = info.factory->reportIssues(m_kit, m_projectPath.toString(), buildDir); + issues = info.factory->reportIssues(m_kit, m_projectPath, info.buildDirectory); QString text; Task::TaskType highestType = Task::Unknown; diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index bb6d5e7b8b..c5d4b62a0d 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -324,10 +324,9 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory() registerBuildConfiguration<QbsBuildConfiguration>(Constants::QBS_BC_ID); setSupportedProjectType(Constants::PROJECT_ID); setSupportedProjectMimeTypeName(Constants::MIME_TYPE); - setIssueReporter([](Kit *k, const QString &projectPath, const QString &buildDir) -> Tasks { + setIssueReporter([](Kit *k, const FilePath &projectPath, const FilePath &buildDir) -> Tasks { const QtSupport::QtVersion * const version = QtSupport::QtKitAspect::qtVersion(k); - return version ? version->reportIssues(projectPath, buildDir) - : Tasks(); + return version ? version->reportIssues(projectPath, buildDir) : Tasks(); }); setBuildGenerator([this](const Kit *k, const FilePath &projectPath, bool forSetup) { diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 1dd215819e..bc83a7fd57 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -226,7 +226,6 @@ void QmakeBuildConfiguration::kitChanged() void QmakeBuildConfiguration::updateProblemLabel() { ProjectExplorer::Kit * const k = kit(); - const QString proFileName = project()->projectFilePath().toString(); // Check for Qt version: QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(k); @@ -274,7 +273,7 @@ void QmakeBuildConfiguration::updateProblemLabel() if (allGood) { const Tasks issues = Utils::sorted( - version->reportIssues(proFileName, buildDirectory().toString())); + version->reportIssues(project()->projectFilePath(), buildDirectory())); if (!issues.isEmpty()) { QString text = QLatin1String("<nobr>"); for (const ProjectExplorer::Task &task : issues) { @@ -376,16 +375,15 @@ QString QmakeBuildConfiguration::unalignedBuildDirWarning() return Tr::tr("The build directory should be at the same level as the source directory."); } -bool QmakeBuildConfiguration::isBuildDirAtSafeLocation(const QString &sourceDir, - const QString &buildDir) +bool QmakeBuildConfiguration::isBuildDirAtSafeLocation(const FilePath &sourceDir, + const FilePath &buildDir) { - return buildDir.count('/') == sourceDir.count('/'); + return buildDir.path().count('/') == sourceDir.path().count('/'); } bool QmakeBuildConfiguration::isBuildDirAtSafeLocation() const { - return isBuildDirAtSafeLocation(project()->projectDirectory().toString(), - buildDirectory().toString()); + return isBuildDirAtSafeLocation(project()->projectDirectory(), buildDirectory()); } TriState QmakeBuildConfiguration::separateDebugInfo() const @@ -749,14 +747,14 @@ QmakeBuildConfigurationFactory::QmakeBuildConfigurationFactory() registerBuildConfiguration<QmakeBuildConfiguration>(Constants::QMAKE_BC_ID); setSupportedProjectType(Constants::QMAKEPROJECT_ID); setSupportedProjectMimeTypeName(Constants::PROFILE_MIMETYPE); - setIssueReporter([](Kit *k, const QString &projectPath, const QString &buildDir) { + setIssueReporter([](Kit *k, const FilePath &projectPath, const FilePath &buildDir) { QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(k); Tasks issues; if (version) issues << version->reportIssues(projectPath, buildDir); if (QmakeSettings::warnAgainstUnalignedBuildDir() && !QmakeBuildConfiguration::isBuildDirAtSafeLocation( - QFileInfo(projectPath).absoluteDir().path(), QDir(buildDir).absolutePath())) { + projectPath.absolutePath(), buildDir.absoluteFilePath())) { issues.append(BuildSystemTask(Task::Warning, QmakeBuildConfiguration::unalignedBuildDirWarning())); } diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index fdeae00699..3b842cfd7c 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -72,7 +72,8 @@ public: void addToEnvironment(Utils::Environment &env) const override; static QString unalignedBuildDirWarning(); - static bool isBuildDirAtSafeLocation(const QString &sourceDir, const QString &buildDir); + static bool isBuildDirAtSafeLocation(const Utils::FilePath &sourceDir, + const Utils::FilePath &buildDir); bool isBuildDirAtSafeLocation() const; Utils::TriState separateDebugInfo() const; diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 1446bbaca7..9ed6078424 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -240,10 +240,8 @@ bool QMakeStep::init() if (qmakeBc->subNodeBuild()) node = qmakeBc->subNodeBuild(); QTC_ASSERT(node, return false); - QString proFile = node->filePath().toString(); - const Tasks tasks = Utils::sorted( - qtVersion->reportIssues(proFile, workingDirectory.toString())); + const Tasks tasks = Utils::sorted(qtVersion->reportIssues(node->filePath(), workingDirectory)); if (!tasks.isEmpty()) { bool canContinue = true; for (const Task &t : tasks) { diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index af1448e7ed..a8c88362b0 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1637,7 +1637,7 @@ bool QtVersion::hasQmlDumpWithRelocatableFlag() const || qtVersion() >= QVersionNumber(5, 1, 0)); } -Tasks QtVersion::reportIssuesImpl(const QString &proFile, const QString &buildDir) const +Tasks QtVersion::reportIssuesImpl(const FilePath &proFile, const FilePath &buildDir) const { Q_UNUSED(proFile) Q_UNUSED(buildDir) @@ -1665,7 +1665,7 @@ bool QtVersion::supportsMultipleQtAbis() const return false; } -Tasks QtVersion::reportIssues(const QString &proFile, const QString &buildDir) const +Tasks QtVersion::reportIssues(const FilePath &proFile, const FilePath &buildDir) const { return Utils::sorted(reportIssuesImpl(proFile, buildDir)); } diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index f17a77de3d..2c52b80357 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -131,7 +131,7 @@ public: /// Check a .pro-file/Qt version combination on possible issues /// @return a list of tasks, ordered on severity (errors first, then /// warnings and finally info items. - ProjectExplorer::Tasks reportIssues(const QString &proFile, const QString &buildDir) const; + ProjectExplorer::Tasks reportIssues(const Utils::FilePath &proFile, const Utils::FilePath &buildDir) const; static bool isQmlDebuggingSupported(const ProjectExplorer::Kit *k, QString *reason = nullptr); bool isQmlDebuggingSupported(QString *reason = nullptr) const; @@ -198,7 +198,8 @@ protected: QtVersion(const QtVersion &other) = delete; virtual QSet<Utils::Id> availableFeatures() const; - virtual ProjectExplorer::Tasks reportIssuesImpl(const QString &proFile, const QString &buildDir) const; + virtual ProjectExplorer::Tasks reportIssuesImpl(const Utils::FilePath &proFile, + const Utils::FilePath &buildDir) const; virtual ProjectExplorer::Abis detectQtAbis() const; |