From 93b155a8508d5a47e8cd8628940f93fc6335c24c Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 12 Feb 2013 10:04:06 +0100 Subject: fix check for Windows CE platform We don't have to do fuzzy mkspec name searches anymore. The WinCE mkspecs add "wince" to QMAKE_PLATFORM which ends up in CONFIG. Change-Id: I6c0576b5504beb416e95eeae0dec579b16b84746 Reviewed-by: Oswald Buddenhagen --- qmake/generators/win32/msvc_nmake.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp index 5a077874d4..263988cd30 100644 --- a/qmake/generators/win32/msvc_nmake.cpp +++ b/qmake/generators/win32/msvc_nmake.cpp @@ -79,7 +79,7 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t) #endif if (!project->isHostBuild()) { const ProValueMap &variables = project->variables(); - if (variables["QMAKESPEC"].first().contains("wince", Qt::CaseInsensitive)) { + if (project->isActiveConfig("wince")) { CeSdkHandler sdkhandler; sdkhandler.parse(); const QString sdkName = variables["CE_SDK"].join(' ') -- cgit v1.2.3 From 566d28316dd73bfe4a8ea34839989ee9df7e3895 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 13 Feb 2013 12:37:04 +0100 Subject: remove automatic splitting from $$() expansions $$(FOO) would automatically split the contents of the environment variable at whitespace (and interpret quoting inside it). the way to prevent the splitting (but not the quote interpretation) would be using "$$(FOO)". this behavior is entirely unexpected and thus an incredibly effective source of quoting problems - according to a grep over the whole qt sources, there isn't a single case where things were done right. in qt creator, well over half the cases are wrong. also, the "feature" seems entirely pointless: nobody uses spaces as separators in environment variables. consequently, simply remove it, even in a patch release. i'm postulating that nobody will complain. Change-Id: I9ed3df1b0d1ef602acd78ceb118611d294561da6 Reviewed-by: Joerg Bornemann --- qmake/library/qmakeevaluator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'qmake') diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp index ac08acee99..8b6a0f8598 100644 --- a/qmake/library/qmakeevaluator.cpp +++ b/qmake/library/qmakeevaluator.cpp @@ -453,9 +453,9 @@ void QMakeEvaluator::evaluateExpression( break; } case TokEnvVar: { const ProString &var = getStr(tokPtr); - const ProStringList &val = split_value_list(m_option->getEnv(var.toQString(m_tmp1))); - debugMsg(2, "env var %s => %s", dbgStr(var), dbgStrList(val)); - addStrList(val, tok, ret, pending, joined); + const ProString &val = ProString(m_option->getEnv(var.toQString(m_tmp1))); + debugMsg(2, "env var %s => %s", dbgStr(var), dbgStr(val)); + addStr(val, ret, pending, joined); break; } case TokFuncName: { const ProKey &func = getHashStr(tokPtr); -- cgit v1.2.3 From 37e4e33c501da8c4acd2376b3341d4f79c9d87ce Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 14 Feb 2013 15:32:19 +0100 Subject: fix MSVC build for non-standard command line interpreters In our incremental linking command block we relied on del never returning a non-zero exit code. Other command line interpreters than cmd.exe, e.g. TCC, behave differently. We now check for existence before trying to delete the manifest file. Task-number: QTBUG-29698 Change-Id: I94d125998da6f2c0377104f7e83cdd9e8b838329 Reviewed-by: Oswald Buddenhagen --- qmake/generators/win32/msvc_nmake.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp index 263988cd30..8b40d4e935 100644 --- a/qmake/generators/win32/msvc_nmake.cpp +++ b/qmake/generators/win32/msvc_nmake.cpp @@ -414,7 +414,8 @@ void NmakeMakefileGenerator::writeBuildRulesPart(QTextStream &t) << cQuoted(unescapeFilePath(manifest)) << ">" << manifest_rc; if (generateManifest) { - t << "\n\tif not exist $(DESTDIR_TARGET) del " << manifest << ">NUL 2>&1"; + t << "\n\tif not exist $(DESTDIR_TARGET) if exist " << manifest + << " del " << manifest; t << "\n\tif exist " << manifest << " copy /Y " << manifest << ' ' << manifest_bak; const QString extraInlineFileContent = "\n!IF EXIST(" + manifest_res + ")\n" + manifest_res + "\n!ENDIF"; t << "\n\t"; -- cgit v1.2.3