QtSupport: Allow remote qmakes in some places

Useful for Docker support.

Change-Id: I9eba01e14c23dc704bfdf531ecfda86174d44b0b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-05-17 08:46:40 +02:00
parent 79e02202d3
commit 75032a4e1f

View File

@@ -1733,12 +1733,11 @@ Tasks BaseQtVersion::reportIssuesImpl(const QString &proFile, const QString &bui
results.append(BuildSystemTask(Task::Error, msg)); results.append(BuildSystemTask(Task::Error, msg));
} }
QFileInfo qmakeInfo = qmakeCommand().toFileInfo(); FilePath qmake = qmakeCommand();
if (!qmakeInfo.exists() || if (!qmake.isExecutableFile()) {
!qmakeInfo.isExecutable()) {
//: %1: Path to qmake executable //: %1: Path to qmake executable
const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion", const QString msg = QCoreApplication::translate("QmakeProjectManager::QtVersion",
"The qmake command \"%1\" was not found or is not executable.").arg(qmakeCommand().toUserOutput()); "The qmake command \"%1\" was not found or is not executable.").arg(qmake.toUserOutput());
results.append(BuildSystemTask(Task::Error, msg)); results.append(BuildSystemTask(Task::Error, msg));
} }
@@ -1762,8 +1761,7 @@ QtConfigWidget *BaseQtVersion::createConfigurationWidget() const
return nullptr; return nullptr;
} }
static QByteArray runQmakeQuery(const FilePath &binary, const Environment &env, static QByteArray runQmakeQuery(const FilePath &binary, const Environment &env, QString *error)
QString *error)
{ {
QTC_ASSERT(error, return QByteArray()); QTC_ASSERT(error, return QByteArray());
@@ -1803,8 +1801,7 @@ bool BaseQtVersionPrivate::queryQMakeVariables(const FilePath &binary, const Env
if (!error) if (!error)
error = &tmp; error = &tmp;
const QFileInfo qmake = binary.toFileInfo(); if (!binary.isExecutableFile()) {
if (!qmake.exists() || !qmake.isExecutable() || qmake.isDir()) {
*error = QCoreApplication::translate("QtVersion", "qmake \"%1\" is not an executable.").arg(binary.toUserOutput()); *error = QCoreApplication::translate("QtVersion", "qmake \"%1\" is not an executable.").arg(binary.toUserOutput());
return false; return false;
} }
@@ -2320,8 +2317,7 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath
return l->m_priority > r->m_priority; return l->m_priority > r->m_priority;
}); });
QFileInfo fi = qmakePath.toFileInfo(); if (!qmakePath.isExecutableFile())
if (!fi.exists() || !fi.isExecutable() || !fi.isFile())
return nullptr; return nullptr;
QtVersionFactory::SetupData setup; QtVersionFactory::SetupData setup;