ensure that arch_host.pro is used also on windows

Change-Id: I110ec33a40f37ecdec5ab952ea56a4fc00cd27a8
Reviewed-by: David Schulz <david.schulz@digia.com>
This commit is contained in:
Oswald Buddenhagen 2014-07-02 14:24:33 +02:00
parent a5cf862f61
commit 6c8e59d694

View File

@ -3090,13 +3090,14 @@ void Configure::generateCachefile()
}
struct ArchData {
bool isHost;
const char *qmakespec;
const char *key;
const char *subarchKey;
const char *type;
ArchData() {}
ArchData(const char *t, const char *qm, const char *k, const char *sak)
: qmakespec(qm), key(k), subarchKey(sak), type(t)
ArchData(bool h, const char *t, const char *qm, const char *k, const char *sak)
: isHost(h), qmakespec(qm), key(k), subarchKey(sak), type(t)
{}
};
@ -3122,8 +3123,8 @@ void Configure::detectArch()
QVector<ArchData> qmakespecs;
if (dictionary.contains("XQMAKESPEC"))
qmakespecs << ArchData("target", "XQMAKESPEC", "QT_ARCH", "QT_CPU_FEATURES");
qmakespecs << ArchData("host", "QMAKESPEC", "QT_HOST_ARCH", "QT_HOST_CPU_FEATURES");
qmakespecs << ArchData(false, "target", "XQMAKESPEC", "QT_ARCH", "QT_CPU_FEATURES");
qmakespecs << ArchData(true, "host", "QMAKESPEC", "QT_HOST_ARCH", "QT_HOST_CPU_FEATURES");
for (int i = 0; i < qmakespecs.count(); ++i) {
const ArchData &data = qmakespecs.at(i);
@ -3135,7 +3136,8 @@ void Configure::detectArch()
QString command = QString("%1 -spec %2 %3")
.arg(QDir::toNativeSeparators(buildPath + "/bin/qmake.exe"),
QDir::toNativeSeparators(qmakespec),
QDir::toNativeSeparators(sourcePath + "/config.tests/arch/arch.pro"));
QDir::toNativeSeparators(sourcePath + "/config.tests/arch/arch"
+ (data.isHost ? "_host" : "") + ".pro"));
if (qmakespec.startsWith("winrt") || qmakespec.startsWith("winphone"))
command.append(" QMAKE_LFLAGS+=/ENTRY:main");