forked from qt-creator/qt-creator
QtSupport: remove latin1 calls
Change-Id: I34fa89f3755740396bd8892bce96e515b5afefa5 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -381,15 +381,15 @@ QString BaseQtVersion::defaultUnexpandedDisplayName(const FileName &qmakePath, b
|
|||||||
QDir dir = qmakePath.toFileInfo().absoluteDir();
|
QDir dir = qmakePath.toFileInfo().absoluteDir();
|
||||||
do {
|
do {
|
||||||
const QString dirName = dir.dirName();
|
const QString dirName = dir.dirName();
|
||||||
if (dirName == QLatin1String("usr")) { // System-installed Qt.
|
if (dirName == "usr") { // System-installed Qt.
|
||||||
location = QCoreApplication::translate("QtVersion", "System");
|
location = QCoreApplication::translate("QtVersion", "System");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
location = dirName;
|
location = dirName;
|
||||||
// Also skip default checkouts named 'qt'. Parent dir might have descriptive name.
|
// Also skip default checkouts named 'qt'. Parent dir might have descriptive name.
|
||||||
if (dirName.compare(QLatin1String("bin"), Qt::CaseInsensitive)
|
if (dirName.compare("bin", Qt::CaseInsensitive)
|
||||||
&& dirName.compare(QLatin1String("qtbase"), Qt::CaseInsensitive)
|
&& dirName.compare("qtbase", Qt::CaseInsensitive)
|
||||||
&& dirName.compare(QLatin1String("qt"), Qt::CaseInsensitive)) {
|
&& dirName.compare("qt", Qt::CaseInsensitive)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (!dir.isRoot() && dir.cdUp());
|
} while (!dir.isRoot() && dir.cdUp());
|
||||||
@@ -526,7 +526,7 @@ QList<Task> BaseQtVersion::validateKit(const Kit *k)
|
|||||||
QString qtAbiString;
|
QString qtAbiString;
|
||||||
foreach (const Abi &qtAbi, qtAbis) {
|
foreach (const Abi &qtAbi, qtAbis) {
|
||||||
if (!qtAbiString.isEmpty())
|
if (!qtAbiString.isEmpty())
|
||||||
qtAbiString.append(QLatin1Char(' '));
|
qtAbiString.append(' ');
|
||||||
qtAbiString.append(qtAbi.toString());
|
qtAbiString.append(qtAbi.toString());
|
||||||
|
|
||||||
if (!fullMatch)
|
if (!fullMatch)
|
||||||
@@ -588,13 +588,13 @@ FileName BaseQtVersion::mkspecsPath() const
|
|||||||
if (result.isEmpty())
|
if (result.isEmpty())
|
||||||
result = FileName::fromUserInput(qmakeProperty("QMAKE_MKSPECS"));
|
result = FileName::fromUserInput(qmakeProperty("QMAKE_MKSPECS"));
|
||||||
else
|
else
|
||||||
result.appendPath(QLatin1String("mkspecs"));
|
result.appendPath("mkspecs");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName BaseQtVersion::qmlBinPath() const
|
FileName BaseQtVersion::qmlBinPath() const
|
||||||
{
|
{
|
||||||
return FileName::fromUserInput(m_mkspecValues.value(QLatin1String("QT.qml.bins")));
|
return FileName::fromUserInput(m_mkspecValues.value("QT.qml.bins"));
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName BaseQtVersion::librarySearchPath() const
|
FileName BaseQtVersion::librarySearchPath() const
|
||||||
@@ -622,13 +622,13 @@ FileNameList BaseQtVersion::directoriesToIgnoreInProjectTree() const
|
|||||||
QString BaseQtVersion::qtNamespace() const
|
QString BaseQtVersion::qtNamespace() const
|
||||||
{
|
{
|
||||||
ensureMkSpecParsed();
|
ensureMkSpecParsed();
|
||||||
return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_NAMESPACE));
|
return m_mkspecValues.value(MKSPEC_VALUE_NAMESPACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BaseQtVersion::qtLibInfix() const
|
QString BaseQtVersion::qtLibInfix() const
|
||||||
{
|
{
|
||||||
ensureMkSpecParsed();
|
ensureMkSpecParsed();
|
||||||
return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_LIBINFIX));
|
return m_mkspecValues.value(MKSPEC_VALUE_LIBINFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BaseQtVersion::isFrameworkBuild() const
|
bool BaseQtVersion::isFrameworkBuild() const
|
||||||
@@ -654,15 +654,15 @@ void BaseQtVersion::setId(int id)
|
|||||||
|
|
||||||
void BaseQtVersion::fromMap(const QVariantMap &map)
|
void BaseQtVersion::fromMap(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
m_id = map.value(QLatin1String(Constants::QTVERSIONID)).toInt();
|
m_id = map.value(Constants::QTVERSIONID).toInt();
|
||||||
if (m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id
|
if (m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id
|
||||||
m_id = QtVersionManager::getUniqueId();
|
m_id = QtVersionManager::getUniqueId();
|
||||||
m_unexpandedDisplayName = map.value(QLatin1String(Constants::QTVERSIONNAME)).toString();
|
m_unexpandedDisplayName = map.value(Constants::QTVERSIONNAME).toString();
|
||||||
m_isAutodetected = map.value(QLatin1String(QTVERSIONAUTODETECTED)).toBool();
|
m_isAutodetected = map.value(QTVERSIONAUTODETECTED).toBool();
|
||||||
if (m_isAutodetected)
|
if (m_isAutodetected)
|
||||||
m_autodetectionSource = map.value(QLatin1String(QTVERSIONAUTODETECTIONSOURCE)).toString();
|
m_autodetectionSource = map.value(QTVERSIONAUTODETECTIONSOURCE).toString();
|
||||||
QString string = map.value(QLatin1String(QTVERSIONQMAKEPATH)).toString();
|
QString string = map.value(QTVERSIONQMAKEPATH).toString();
|
||||||
if (string.startsWith(QLatin1Char('~')))
|
if (string.startsWith('~'))
|
||||||
string.remove(0, 1).prepend(QDir::homePath());
|
string.remove(0, 1).prepend(QDir::homePath());
|
||||||
|
|
||||||
QFileInfo fi(string);
|
QFileInfo fi(string);
|
||||||
@@ -679,12 +679,12 @@ void BaseQtVersion::fromMap(const QVariantMap &map)
|
|||||||
QVariantMap BaseQtVersion::toMap() const
|
QVariantMap BaseQtVersion::toMap() const
|
||||||
{
|
{
|
||||||
QVariantMap result;
|
QVariantMap result;
|
||||||
result.insert(QLatin1String(Constants::QTVERSIONID), uniqueId());
|
result.insert(Constants::QTVERSIONID, uniqueId());
|
||||||
result.insert(QLatin1String(Constants::QTVERSIONNAME), unexpandedDisplayName());
|
result.insert(Constants::QTVERSIONNAME, unexpandedDisplayName());
|
||||||
result.insert(QLatin1String(QTVERSIONAUTODETECTED), isAutodetected());
|
result.insert(QTVERSIONAUTODETECTED, isAutodetected());
|
||||||
if (isAutodetected())
|
if (isAutodetected())
|
||||||
result.insert(QLatin1String(QTVERSIONAUTODETECTIONSOURCE), autodetectionSource());
|
result.insert(QTVERSIONAUTODETECTIONSOURCE, autodetectionSource());
|
||||||
result.insert(QLatin1String(QTVERSIONQMAKEPATH), qmakeCommand().toString());
|
result.insert(QTVERSIONQMAKEPATH, qmakeCommand().toString());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -854,16 +854,16 @@ QString BaseQtVersion::toHtml(bool verbose) const
|
|||||||
foreach (const ProKey &key, keys) {
|
foreach (const ProKey &key, keys) {
|
||||||
const QString &value = vInfo.value(key).toQString();
|
const QString &value = vInfo.value(key).toQString();
|
||||||
QString variableName = key.toQString();
|
QString variableName = key.toQString();
|
||||||
if (variableName != QLatin1String("QMAKE_MKSPECS")
|
if (variableName != "QMAKE_MKSPECS"
|
||||||
&& !variableName.endsWith(QLatin1String("/raw"))) {
|
&& !variableName.endsWith("/raw")) {
|
||||||
bool isPath = false;
|
bool isPath = false;
|
||||||
if (variableName.contains(QLatin1String("_HOST_"))
|
if (variableName.contains("_HOST_")
|
||||||
|| variableName.contains(QLatin1String("_INSTALL_"))) {
|
|| variableName.contains("_INSTALL_")) {
|
||||||
if (!variableName.endsWith(QLatin1String("/get")))
|
if (!variableName.endsWith("/get"))
|
||||||
continue;
|
continue;
|
||||||
variableName.chop(4);
|
variableName.chop(4);
|
||||||
isPath = true;
|
isPath = true;
|
||||||
} else if (variableName == QLatin1String("QT_SYSROOT")) {
|
} else if (variableName == "QT_SYSROOT") {
|
||||||
isPath = true;
|
isPath = true;
|
||||||
}
|
}
|
||||||
str << "<tr><td><pre>" << variableName << "</pre></td><td>";
|
str << "<tr><td><pre>" << variableName << "</pre></td><td>";
|
||||||
@@ -937,7 +937,7 @@ QString BaseQtVersion::findHostBinary(HostBinaries binary) const
|
|||||||
switch (binary) {
|
switch (binary) {
|
||||||
case Designer:
|
case Designer:
|
||||||
case Linguist:
|
case Linguist:
|
||||||
baseDir = m_mkspecValues.value(QLatin1String("QT.designer.bins"));
|
baseDir = m_mkspecValues.value("QT.designer.bins");
|
||||||
break;
|
break;
|
||||||
case Uic:
|
case Uic:
|
||||||
case QScxmlc:
|
case QScxmlc:
|
||||||
@@ -951,33 +951,32 @@ QString BaseQtVersion::findHostBinary(HostBinaries binary) const
|
|||||||
|
|
||||||
if (baseDir.isEmpty())
|
if (baseDir.isEmpty())
|
||||||
return QString();
|
return QString();
|
||||||
if (!baseDir.endsWith(QLatin1Char('/')))
|
if (!baseDir.endsWith('/'))
|
||||||
baseDir += QLatin1Char('/');
|
baseDir += '/';
|
||||||
|
|
||||||
QStringList possibleCommands;
|
QStringList possibleCommands;
|
||||||
switch (binary) {
|
switch (binary) {
|
||||||
case Designer:
|
case Designer:
|
||||||
if (HostOsInfo::isMacHost())
|
if (HostOsInfo::isMacHost())
|
||||||
possibleCommands << QLatin1String("Designer.app/Contents/MacOS/Designer");
|
possibleCommands << "Designer.app/Contents/MacOS/Designer";
|
||||||
else
|
else
|
||||||
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("designer"));
|
possibleCommands << HostOsInfo::withExecutableSuffix("designer");
|
||||||
break;
|
break;
|
||||||
case Linguist:
|
case Linguist:
|
||||||
if (HostOsInfo::isMacHost())
|
if (HostOsInfo::isMacHost())
|
||||||
possibleCommands << QLatin1String("Linguist.app/Contents/MacOS/Linguist");
|
possibleCommands << "Linguist.app/Contents/MacOS/Linguist";
|
||||||
else
|
else
|
||||||
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("linguist"));
|
possibleCommands << HostOsInfo::withExecutableSuffix("linguist");
|
||||||
break;
|
break;
|
||||||
case Uic:
|
case Uic:
|
||||||
if (HostOsInfo::isWindowsHost()) {
|
if (HostOsInfo::isWindowsHost()) {
|
||||||
possibleCommands << QLatin1String("uic.exe");
|
possibleCommands << "uic.exe";
|
||||||
} else {
|
} else {
|
||||||
possibleCommands << QLatin1String("uic-qt4") << QLatin1String("uic4")
|
possibleCommands << "uic-qt4" << "uic4" << "uic";
|
||||||
<< QLatin1String("uic");
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QScxmlc:
|
case QScxmlc:
|
||||||
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("qscxmlc"));
|
possibleCommands << HostOsInfo::withExecutableSuffix("qscxmlc");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Q_ASSERT(false);
|
Q_ASSERT(false);
|
||||||
@@ -1018,7 +1017,7 @@ void BaseQtVersion::updateMkspec() const
|
|||||||
m_mkspec = m_mkspec.relativeChildPath(baseMkspecDir);
|
m_mkspec = m_mkspec.relativeChildPath(baseMkspecDir);
|
||||||
// qDebug() << "Setting mkspec to"<<mkspec;
|
// qDebug() << "Setting mkspec to"<<mkspec;
|
||||||
} else {
|
} else {
|
||||||
FileName sourceMkSpecPath = sourcePath().appendPath(QLatin1String("mkspecs"));
|
FileName sourceMkSpecPath = sourcePath().appendPath("mkspecs");
|
||||||
if (m_mkspec.isChildOf(sourceMkSpecPath)) {
|
if (m_mkspec.isChildOf(sourceMkSpecPath)) {
|
||||||
m_mkspec = m_mkspec.relativeChildPath(sourceMkSpecPath);
|
m_mkspec = m_mkspec.relativeChildPath(sourceMkSpecPath);
|
||||||
} else {
|
} else {
|
||||||
@@ -1053,25 +1052,25 @@ void BaseQtVersion::ensureMkSpecParsed() const
|
|||||||
|
|
||||||
void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
|
void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
|
||||||
{
|
{
|
||||||
m_configValues = evaluator->values(QLatin1String("CONFIG"));
|
m_configValues = evaluator->values("CONFIG");
|
||||||
m_qtConfigValues = evaluator->values(QLatin1String("QT_CONFIG"));
|
m_qtConfigValues = evaluator->values("QT_CONFIG");
|
||||||
m_defaultConfigIsDebugAndRelease = false;
|
m_defaultConfigIsDebugAndRelease = false;
|
||||||
m_frameworkBuild = false;
|
m_frameworkBuild = false;
|
||||||
foreach (const QString &value, m_configValues) {
|
foreach (const QString &value, m_configValues) {
|
||||||
if (value == QLatin1String("debug"))
|
if (value == "debug")
|
||||||
m_defaultConfigIsDebug = true;
|
m_defaultConfigIsDebug = true;
|
||||||
else if (value == QLatin1String("release"))
|
else if (value == "release")
|
||||||
m_defaultConfigIsDebug = false;
|
m_defaultConfigIsDebug = false;
|
||||||
else if (value == QLatin1String("build_all"))
|
else if (value == "build_all")
|
||||||
m_defaultConfigIsDebugAndRelease = true;
|
m_defaultConfigIsDebugAndRelease = true;
|
||||||
else if (value == QLatin1String("qt_framework"))
|
else if (value == "qt_framework")
|
||||||
m_frameworkBuild = true;
|
m_frameworkBuild = true;
|
||||||
}
|
}
|
||||||
const QString designerBins = QLatin1String("QT.designer.bins");
|
const QString designerBins = "QT.designer.bins";
|
||||||
const QString qmlBins = QLatin1String("QT.qml.bins");
|
const QString qmlBins = "QT.qml.bins";
|
||||||
const QString declarativeBins = QLatin1String("QT.declarative.bins");
|
const QString declarativeBins = "QT.declarative.bins";
|
||||||
const QString libinfix = QLatin1String(MKSPEC_VALUE_LIBINFIX);
|
const QString libinfix = MKSPEC_VALUE_LIBINFIX;
|
||||||
const QString ns = QLatin1String(MKSPEC_VALUE_NAMESPACE);
|
const QString ns = MKSPEC_VALUE_NAMESPACE;
|
||||||
m_mkspecValues.insert(designerBins, evaluator->value(designerBins));
|
m_mkspecValues.insert(designerBins, evaluator->value(designerBins));
|
||||||
m_mkspecValues.insert(qmlBins, evaluator->value(qmlBins));
|
m_mkspecValues.insert(qmlBins, evaluator->value(qmlBins));
|
||||||
m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins));
|
m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins));
|
||||||
@@ -1114,11 +1113,11 @@ bool BaseQtVersion::hasMkspec(const FileName &spec) const
|
|||||||
return true; // default spec of a Qt version
|
return true; // default spec of a Qt version
|
||||||
|
|
||||||
QDir mkspecDir = QDir(QDir::fromNativeSeparators(qmakeProperty("QT_HOST_DATA"))
|
QDir mkspecDir = QDir(QDir::fromNativeSeparators(qmakeProperty("QT_HOST_DATA"))
|
||||||
+ QLatin1String("/mkspecs/"));
|
+ "/mkspecs/");
|
||||||
const QString absSpec = mkspecDir.absoluteFilePath(spec.toString());
|
const QString absSpec = mkspecDir.absoluteFilePath(spec.toString());
|
||||||
if (QFileInfo(absSpec).isDir() && QFileInfo(absSpec + "/qmake.conf").isFile())
|
if (QFileInfo(absSpec).isDir() && QFileInfo(absSpec + "/qmake.conf").isFile())
|
||||||
return true;
|
return true;
|
||||||
mkspecDir.setPath(sourcePath().toString() + QLatin1String("/mkspecs/"));
|
mkspecDir.setPath(sourcePath().toString() + "/mkspecs/");
|
||||||
const QString absSrcSpec = mkspecDir.absoluteFilePath(spec.toString());
|
const QString absSrcSpec = mkspecDir.absoluteFilePath(spec.toString());
|
||||||
return absSrcSpec != absSpec
|
return absSrcSpec != absSpec
|
||||||
&& QFileInfo(absSrcSpec).isDir()
|
&& QFileInfo(absSrcSpec).isDir()
|
||||||
@@ -1230,7 +1229,7 @@ QString BaseQtVersion::qmakeProperty(const QHash<ProKey,ProString> &versionInfo,
|
|||||||
variant == PropertyVariantGet ? "/get" : "/src")))).toQString();
|
variant == PropertyVariantGet ? "/get" : "/src")))).toQString();
|
||||||
if (!val.isNull())
|
if (!val.isNull())
|
||||||
return val;
|
return val;
|
||||||
return versionInfo.value(ProKey(QString::fromLatin1(name))).toQString();
|
return versionInfo.value(ProKey(name)).toQString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BaseQtVersion::qmakeProperty(const QByteArray &name, PropertyVariant variant) const
|
QString BaseQtVersion::qmakeProperty(const QByteArray &name, PropertyVariant variant) const
|
||||||
@@ -1354,7 +1353,7 @@ void BaseQtVersion::populateQmlFileFinder(FileInProjectFinder *finder, const Tar
|
|||||||
void BaseQtVersion::addToEnvironment(const Kit *k, Environment &env) const
|
void BaseQtVersion::addToEnvironment(const Kit *k, Environment &env) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(k);
|
Q_UNUSED(k);
|
||||||
env.set(QLatin1String("QTDIR"), QDir::toNativeSeparators(qmakeProperty("QT_HOST_DATA")));
|
env.set("QTDIR", QDir::toNativeSeparators(qmakeProperty("QT_HOST_DATA")));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Some Qt versions may require environment settings for qmake to work
|
// Some Qt versions may require environment settings for qmake to work
|
||||||
@@ -1445,7 +1444,7 @@ static QByteArray runQmakeQuery(const FileName &binary, const Environment &env,
|
|||||||
|
|
||||||
QProcess process;
|
QProcess process;
|
||||||
process.setEnvironment(env.toStringList());
|
process.setEnvironment(env.toStringList());
|
||||||
process.start(binary.toString(), QStringList(QLatin1String("-query")), QIODevice::ReadOnly);
|
process.start(binary.toString(), QStringList("-query"), QIODevice::ReadOnly);
|
||||||
|
|
||||||
if (!process.waitForStarted()) {
|
if (!process.waitForStarted()) {
|
||||||
*error = QCoreApplication::translate("QtVersion", "Cannot start \"%1\": %2").arg(binary.toUserOutput()).arg(process.errorString());
|
*error = QCoreApplication::translate("QtVersion", "Cannot start \"%1\": %2").arg(binary.toUserOutput()).arg(process.errorString());
|
||||||
@@ -1512,7 +1511,7 @@ FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<ProKey, ProSt
|
|||||||
QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc);
|
QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc);
|
||||||
if (dataDir.isEmpty())
|
if (dataDir.isEmpty())
|
||||||
return FileName();
|
return FileName();
|
||||||
return FileName::fromUserInput(dataDir + QLatin1String("/mkspecs"));
|
return FileName::fromUserInput(dataDir + "/mkspecs");
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &versionInfo)
|
FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &versionInfo)
|
||||||
@@ -1524,7 +1523,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
|
|||||||
bool qt5 = false;
|
bool qt5 = false;
|
||||||
QString theSpec = qmakeProperty(versionInfo, "QMAKE_XSPEC");
|
QString theSpec = qmakeProperty(versionInfo, "QMAKE_XSPEC");
|
||||||
if (theSpec.isEmpty())
|
if (theSpec.isEmpty())
|
||||||
theSpec = QLatin1String("default");
|
theSpec = "default";
|
||||||
else
|
else
|
||||||
qt5 = true;
|
qt5 = true;
|
||||||
|
|
||||||
@@ -1535,7 +1534,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
|
|||||||
|
|
||||||
if (HostOsInfo::isWindowsHost()) {
|
if (HostOsInfo::isWindowsHost()) {
|
||||||
if (!qt5) {
|
if (!qt5) {
|
||||||
QFile f2(mkspecFullPath.toString() + QLatin1String("/qmake.conf"));
|
QFile f2(mkspecFullPath.toString() + "/qmake.conf");
|
||||||
if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
|
if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
|
||||||
while (!f2.atEnd()) {
|
while (!f2.atEnd()) {
|
||||||
QByteArray line = f2.readLine();
|
QByteArray line = f2.readLine();
|
||||||
@@ -1543,16 +1542,16 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
|
|||||||
const QList<QByteArray> &temp = line.split('=');
|
const QList<QByteArray> &temp = line.split('=');
|
||||||
if (temp.size() == 2) {
|
if (temp.size() == 2) {
|
||||||
QString possibleFullPath = QString::fromLocal8Bit(temp.at(1).trimmed().constData());
|
QString possibleFullPath = QString::fromLocal8Bit(temp.at(1).trimmed().constData());
|
||||||
if (possibleFullPath.contains(QLatin1Char('$'))) { // QTBUG-28792
|
if (possibleFullPath.contains('$')) { // QTBUG-28792
|
||||||
const QRegularExpression rex(QLatin1String("\\binclude\\(([^)]+)/qmake\\.conf\\)"));
|
const QRegularExpression rex("\\binclude\\(([^)]+)/qmake\\.conf\\)");
|
||||||
const QRegularExpressionMatch match = rex.match(QString::fromLocal8Bit(f2.readAll()));
|
const QRegularExpressionMatch match = rex.match(QString::fromLocal8Bit(f2.readAll()));
|
||||||
if (match.hasMatch()) {
|
if (match.hasMatch()) {
|
||||||
possibleFullPath = mkspecFullPath.toString() + QLatin1Char('/')
|
possibleFullPath = mkspecFullPath.toString() + '/'
|
||||||
+ match.captured(1);
|
+ match.captured(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// We sometimes get a mix of different slash styles here...
|
// We sometimes get a mix of different slash styles here...
|
||||||
possibleFullPath = possibleFullPath.replace(QLatin1Char('\\'), QLatin1Char('/'));
|
possibleFullPath = possibleFullPath.replace('\\', '/');
|
||||||
if (QFileInfo::exists(possibleFullPath)) // Only if the path exists
|
if (QFileInfo::exists(possibleFullPath)) // Only if the path exists
|
||||||
mkspecFullPath = FileName::fromUserInput(possibleFullPath);
|
mkspecFullPath = FileName::fromUserInput(possibleFullPath);
|
||||||
}
|
}
|
||||||
@@ -1564,7 +1563,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (HostOsInfo::isMacHost()) {
|
if (HostOsInfo::isMacHost()) {
|
||||||
QFile f2(mkspecFullPath.toString() + QLatin1String("/qmake.conf"));
|
QFile f2(mkspecFullPath.toString() + "/qmake.conf");
|
||||||
if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
|
if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
|
||||||
while (!f2.atEnd()) {
|
while (!f2.atEnd()) {
|
||||||
QByteArray line = f2.readLine();
|
QByteArray line = f2.readLine();
|
||||||
@@ -1575,7 +1574,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
|
|||||||
if (value.contains("XCODE")) {
|
if (value.contains("XCODE")) {
|
||||||
// we don't want to generate xcode projects...
|
// we don't want to generate xcode projects...
|
||||||
// qDebug() << "default mkspec is xcode, falling back to g++";
|
// qDebug() << "default mkspec is xcode, falling back to g++";
|
||||||
return baseMkspecDir.appendPath(QLatin1String("macx-g++"));
|
return baseMkspecDir.appendPath("macx-g++");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1603,14 +1602,14 @@ FileName BaseQtVersion::sourcePath(const QHash<ProKey, ProString> &versionInfo)
|
|||||||
|
|
||||||
const QString installData = qmakeProperty(versionInfo, "QT_INSTALL_PREFIX");
|
const QString installData = qmakeProperty(versionInfo, "QT_INSTALL_PREFIX");
|
||||||
QString sourcePath = installData;
|
QString sourcePath = installData;
|
||||||
QFile qmakeCache(installData + QLatin1String("/.qmake.cache"));
|
QFile qmakeCache(installData + "/.qmake.cache");
|
||||||
if (qmakeCache.exists() && qmakeCache.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
if (qmakeCache.exists() && qmakeCache.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||||
QTextStream stream(&qmakeCache);
|
QTextStream stream(&qmakeCache);
|
||||||
while (!stream.atEnd()) {
|
while (!stream.atEnd()) {
|
||||||
QString line = stream.readLine().trimmed();
|
QString line = stream.readLine().trimmed();
|
||||||
if (line.startsWith(QLatin1String("QT_SOURCE_TREE"))) {
|
if (line.startsWith("QT_SOURCE_TREE")) {
|
||||||
sourcePath = line.split(QLatin1Char('=')).at(1).trimmed();
|
sourcePath = line.split('=').at(1).trimmed();
|
||||||
if (sourcePath.startsWith(QLatin1String("$$quote("))) {
|
if (sourcePath.startsWith("$$quote(")) {
|
||||||
sourcePath.remove(0, 8);
|
sourcePath.remove(0, 8);
|
||||||
sourcePath.chop(1);
|
sourcePath.chop(1);
|
||||||
}
|
}
|
||||||
@@ -1627,7 +1626,7 @@ bool BaseQtVersion::isInSourceDirectory(const Utils::FileName &filePath)
|
|||||||
if (source.isEmpty())
|
if (source.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
QDir dir = QDir(source.toString());
|
QDir dir = QDir(source.toString());
|
||||||
if (dir.dirName() == QLatin1String("qtbase"))
|
if (dir.dirName() == "qtbase")
|
||||||
dir.cdUp();
|
dir.cdUp();
|
||||||
return filePath.isChildOf(dir);
|
return filePath.isChildOf(dir);
|
||||||
}
|
}
|
||||||
@@ -1637,7 +1636,7 @@ bool BaseQtVersion::isSubProject(const Utils::FileName &filePath) const
|
|||||||
const Utils::FileName &source = sourcePath();
|
const Utils::FileName &source = sourcePath();
|
||||||
if (!source.isEmpty()) {
|
if (!source.isEmpty()) {
|
||||||
QDir dir = QDir(source.toString());
|
QDir dir = QDir(source.toString());
|
||||||
if (dir.dirName() == QLatin1String("qtbase"))
|
if (dir.dirName() == "qtbase")
|
||||||
dir.cdUp();
|
dir.cdUp();
|
||||||
|
|
||||||
if (filePath.isChildOf(dir))
|
if (filePath.isChildOf(dir))
|
||||||
@@ -1711,7 +1710,7 @@ bool BaseQtVersion::isQtQuickCompilerSupported(QString *reason) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
const QString qtQuickCompilerExecutable =
|
const QString qtQuickCompilerExecutable =
|
||||||
HostOsInfo::withExecutableSuffix(binPath().toString() + QLatin1String("/qtquickcompiler"));
|
HostOsInfo::withExecutableSuffix(binPath().toString() + "/qtquickcompiler");
|
||||||
if (!QFileInfo::exists(qtQuickCompilerExecutable)) {
|
if (!QFileInfo::exists(qtQuickCompilerExecutable)) {
|
||||||
if (reason)
|
if (reason)
|
||||||
*reason = QCoreApplication::translate("BaseQtVersion", "This Qt Version does not contain Qt Quick Compiler.");
|
*reason = QCoreApplication::translate("BaseQtVersion", "This Qt Version does not contain Qt Quick Compiler.");
|
||||||
@@ -1739,22 +1738,22 @@ FileNameList BaseQtVersion::qtCorePaths() const
|
|||||||
foreach (const QFileInfo &info, infoList) {
|
foreach (const QFileInfo &info, infoList) {
|
||||||
const QString file = info.fileName();
|
const QString file = info.fileName();
|
||||||
if (info.isDir()
|
if (info.isDir()
|
||||||
&& file.startsWith(QLatin1String("QtCore"))
|
&& file.startsWith("QtCore")
|
||||||
&& file.endsWith(QLatin1String(".framework"))) {
|
&& file.endsWith(".framework")) {
|
||||||
// handle Framework
|
// handle Framework
|
||||||
FileName lib(info);
|
FileName lib(info);
|
||||||
dynamicLibs.append(lib.appendPath(file.left(file.lastIndexOf(QLatin1Char('.')))));
|
dynamicLibs.append(lib.appendPath(file.left(file.lastIndexOf('.'))));
|
||||||
} else if (info.isReadable()) {
|
} else if (info.isReadable()) {
|
||||||
if (file.startsWith(QLatin1String("libQtCore"))
|
if (file.startsWith("libQtCore")
|
||||||
|| file.startsWith(QLatin1String("libQt5Core"))
|
|| file.startsWith("libQt5Core")
|
||||||
|| file.startsWith(QLatin1String("QtCore"))
|
|| file.startsWith("QtCore")
|
||||||
|| file.startsWith(QLatin1String("Qt5Core"))) {
|
|| file.startsWith("Qt5Core")) {
|
||||||
if (file.endsWith(QLatin1String(".a")) || file.endsWith(QLatin1String(".lib")))
|
if (file.endsWith(".a") || file.endsWith(".lib"))
|
||||||
staticLibs.append(FileName(info));
|
staticLibs.append(FileName(info));
|
||||||
else if (file.endsWith(QLatin1String(".dll"))
|
else if (file.endsWith(".dll")
|
||||||
|| file.endsWith(QString::fromLatin1(".so.") + versionString)
|
|| file.endsWith(QString::fromLatin1(".so.") + versionString)
|
||||||
|| file.endsWith(QLatin1String(".so"))
|
|| file.endsWith(".so")
|
||||||
|| file.endsWith(QLatin1Char('.') + versionString + QLatin1String(".dylib")))
|
|| file.endsWith(QLatin1Char('.') + versionString + ".dylib"))
|
||||||
dynamicLibs.append(FileName(info));
|
dynamicLibs.append(FileName(info));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user