summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/makefile.cpp4
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp14
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp23
-rw-r--r--qmake/generators/win32/winmakefile.cpp9
4 files changed, 38 insertions, 12 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 03732ba..c7b1473 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -551,7 +551,7 @@ MakefileGenerator::init()
if(out.exists() && out.open(QFile::ReadOnly)) {
QString old = QString::fromUtf8(out.readAll());
if(contents == old) {
- v["QMAKE_INTERNAL_INCLUDED_FILES"].append(subs.at(i));
+ v["QMAKE_INTERNAL_INCLUDED_FILES"].append(in.fileName());
continue;
}
out.close();
@@ -563,7 +563,7 @@ MakefileGenerator::init()
}
mkdir(QFileInfo(out).absolutePath());
if(out.open(QFile::WriteOnly)) {
- v["QMAKE_INTERNAL_INCLUDED_FILES"].append(subs.at(i));
+ v["QMAKE_INTERNAL_INCLUDED_FILES"].append(in.fileName());
out.write(contents.toUtf8());
} else {
warn_msg(WarnLogic, "Cannot open substitute for output '%s'",
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index d124b02..155dbc9 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -275,6 +275,20 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
if (success)
applicationVersion = QString("%1,%2,%3").arg(major).arg(minor).arg(patch);
+ // Append package build version number if it is set
+ QString pkgBuildVersion = project->first("DEPLOYMENT.pkg_build_version");
+ if (!pkgBuildVersion.isEmpty()) {
+ success = false;
+ uint build = pkgBuildVersion.toUInt(&success);
+ if (success && build < 100) {
+ if (pkgBuildVersion.size() == 1)
+ pkgBuildVersion.prepend(QLatin1Char('0'));
+ applicationVersion.append(pkgBuildVersion);
+ } else {
+ fprintf(stderr, "Warning: Invalid DEPLOYMENT.pkg_build_version (%s), must be a number between 0 - 99\n", qPrintable(pkgBuildVersion));
+ }
+ }
+
// Package header
QString sisHeader = "; SIS header: name, uid, version\n#{\"%1\"},(%2),%3\n\n";
QString visualTarget = generator->escapeFilePath(project->first("TARGET"));
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 036eb1d..e794351 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -202,10 +202,18 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
QString genericClause = " -c %1_%2" + testClause;
QString winscwClause = " -c winscw_%1.mwccinc" + testClause;
QString gcceClause;
- if (QString::compare(gcceVersion(), UNDETECTED_GCCE_VERSION) == 0)
- allPlatforms.removeAll(PLATFORM_GCCE);
- else
- gcceClause = " -c arm.v5.%1." + gcceVersion() + ".release_gcce" + testClause;
+ bool stripArmv5 = false;
+
+ if (allPlatforms.contains(PLATFORM_GCCE)) {
+ if (QString::compare(gcceVersion(), UNDETECTED_GCCE_VERSION) == 0) {
+ allPlatforms.removeAll(PLATFORM_GCCE);
+ } else {
+ gcceClause = " -c arm.v5.%1." + gcceVersion() + testClause;
+ // Since gcce building is enabled, do not add armv5 for any sbs command
+ // that also contains gcce, because those will build same targets.
+ stripArmv5 = true;
+ }
+ }
QStringList allClauses;
QStringList debugClauses;
@@ -216,14 +224,15 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
releasePlatforms.removeAll(PLATFORM_WINSCW); // No release for emulator
foreach(QString item, debugPlatforms) {
- debugClauses << configClause(item, debugBuild, winscwClause, gcceClause, genericClause);
+ if (item != PLATFORM_ARMV5 || !stripArmv5)
+ debugClauses << configClause(item, debugBuild, winscwClause, gcceClause, genericClause);
}
foreach(QString item, releasePlatforms) {
- releaseClauses << configClause(item, releaseBuild, winscwClause, gcceClause, genericClause);
+ if (item != PLATFORM_ARMV5 || !stripArmv5)
+ releaseClauses << configClause(item, releaseBuild, winscwClause, gcceClause, genericClause);
}
allClauses << debugClauses << releaseClauses;
-
QTextStream t(&wrapperFile);
t << "# ==============================================================================" << endl;
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 64aaf34..ecb20c7 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -472,10 +472,13 @@ void Win32MakefileGenerator::processRcFileVar()
resFile.replace(".rc", Option::res_ext);
project->values("RES_FILE").prepend(fileInfo(resFile).fileName());
if (!project->values("OBJECTS_DIR").isEmpty()) {
- if(project->isActiveConfig("staticlib"))
- project->values("RES_FILE").first().prepend(fileInfo(project->values("DESTDIR").first()).absoluteFilePath() + Option::dir_sep);
+ QString resDestDir;
+ if (project->isActiveConfig("staticlib"))
+ resDestDir = fileInfo(project->first("DESTDIR")).absoluteFilePath();
else
- project->values("RES_FILE").first().prepend(project->values("OBJECTS_DIR").first() + Option::dir_sep);
+ resDestDir = project->first("OBJECTS_DIR");
+ resDestDir.append(Option::dir_sep);
+ project->values("RES_FILE").first().prepend(resDestDir);
}
project->values("RES_FILE").first() = Option::fixPathToTargetOS(project->values("RES_FILE").first(), false, false);
project->values("POST_TARGETDEPS") += project->values("RES_FILE");