summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-01-11 15:46:28 +0100
committerhjk <hjk@qt.io>2023-01-12 15:13:02 +0000
commit44a9f5a63a09e5994542df6265b6813f44d29dbe (patch)
treef388a638bd4427e3e54eee3936713d064ee5d99e
parentccb6176a33279c81498bf04aefc1143806c9614f (diff)
downloadqt-creator-44a9f5a63a09e5994542df6265b6813f44d29dbe.tar.gz
Qmake: Use FilePath in QtVersion::reportIssues
Change-Id: Ia848248525238c316d6f6f120d915b9bdb28b8fe Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.cpp4
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.h6
-rw-r--r--src/plugins/projectexplorer/targetsetupwidget.cpp3
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp5
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp16
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h3
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp4
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp4
-rw-r--r--src/plugins/qtsupport/baseqtversion.h5
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;