summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/metamakefile.cpp38
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp28
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp2
-rw-r--r--qmake/project.cpp2
-rw-r--r--qmake/qmake.pri1
5 files changed, 47 insertions, 24 deletions
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index e76e596..c42a837 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -58,6 +58,8 @@ MetaMakefileGenerator::~MetaMakefileGenerator()
delete project;
}
+#ifndef QT_QMAKE_PARSER_ONLY
+
class BuildsMetaMakefileGenerator : public MetaMakefileGenerator
{
private:
@@ -489,6 +491,25 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)
return mkfile;
}
+MetaMakefileGenerator *
+MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success)
+{
+ MetaMakefileGenerator *ret = 0;
+ if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
+ Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
+ if (proj->first("TEMPLATE").endsWith("subdirs"))
+ ret = new SubdirsMetaMakefileGenerator(proj, name, op);
+ }
+ if (!ret)
+ ret = new BuildsMetaMakefileGenerator(proj, name, op);
+ bool res = ret->init();
+ if (success)
+ *success = res;
+ return ret;
+}
+
+#endif // QT_QMAKE_PARSER_ONLY
+
bool
MetaMakefileGenerator::modesForGenerator(const QString &gen,
Option::HOST_MODE *host_mode, Option::TARG_MODE *target_mode)
@@ -523,21 +544,4 @@ MetaMakefileGenerator::modesForGenerator(const QString &gen,
return true;
}
-MetaMakefileGenerator *
-MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success)
-{
- MetaMakefileGenerator *ret = 0;
- if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
- Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
- if (proj->first("TEMPLATE").endsWith("subdirs"))
- ret = new SubdirsMetaMakefileGenerator(proj, name, op);
- }
- if (!ret)
- ret = new BuildsMetaMakefileGenerator(proj, name, op);
- bool res = ret->init();
- if (success)
- *success = res;
- return ret;
-}
-
QT_END_NAMESPACE
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index 10889c4..0df2d15 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -164,6 +164,9 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
QTextStream t(&pkgFile);
QString installerSisHeader = project->values("DEPLOYMENT.installer_header").join("\n");
+ if (installerSisHeader.isEmpty())
+ installerSisHeader = "0xA000D7CE"; // Use default self-signable UID if not defined
+
QString wrapperStreamBuffer;
QTextStream tw(&wrapperStreamBuffer);
@@ -360,15 +363,32 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
// deploy any additional DEPLOYMENT files
QString remoteTestPath;
remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid);
+ QString zDir = epocRoot() + QLatin1String("epoc32/data/z");
DeploymentList depList;
initProjectDeploySymbian(project, depList, remoteTestPath, true, epocBuild, "$(PLATFORM)", "$(TARGET)", generatedDirs, generatedFiles);
if (depList.size())
t << "; DEPLOYMENT" << endl;
for (int i = 0; i < depList.size(); ++i) {
- t << QString("\"%1\" - \"%2\"")
- .arg(depList.at(i).from)
- .arg(depList.at(i).to) << endl;
+ QString from = depList.at(i).from;
+ QString to = depList.at(i).to;
+
+ if (epocBuild) {
+ // Deploy anything not already deployed from under epoc32 instead from under
+ // \epoc32\data\z\ to enable using pkg file without rebuilding
+ // the project, which can be useful for some binary only distributions.
+ if (!from.contains(QLatin1String("epoc32"), Qt::CaseInsensitive)) {
+ from = to;
+ if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
+ from = from.mid(2);
+ from.prepend(zDir);
+ } else {
+ if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
+ from = from.mid(2);
+ }
+ }
+
+ t << QString("\"%1\" - \"%2\"").arg(from.replace('\\','/')).arg(to) << endl;
}
t << endl;
@@ -433,7 +453,7 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
twf << "\"" << currentPath << "/" << sisName << "\" - \"c:\\adm\\" << sisName << "\"" << endl;
QString bootStrapPath = QLibraryInfo::location(QLibraryInfo::PrefixPath);
- bootStrapPath.append("/bootstrap.sis");
+ bootStrapPath.append("/smartinstaller.sis");
QFileInfo fi(generator->fileInfo(bootStrapPath));
twf << "@\"" << fi.absoluteFilePath() << "\",(0x2002CCCD)" << endl;
}
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index c817056..3a6706a 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -75,7 +75,7 @@ void SymbianSbsv2MakefileGenerator::exportFlm()
foreach(QFileInfo item, sourceInfos) {
QFileInfo destInfo = QFileInfo(destDir.absolutePath() + "/" + item.fileName());
- if (!destInfo.exists() || destInfo.lastModified() < item.lastModified()) {
+ if (!destInfo.exists() || destInfo.lastModified() != item.lastModified()) {
if (destInfo.exists())
QFile::remove(destInfo.absoluteFilePath());
if (QFile::copy(item.absoluteFilePath(), destInfo.absoluteFilePath()))
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 56707cf..764264f 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1507,7 +1507,6 @@ QMakeProject::read(uchar cmd)
void QMakeProject::validateModes()
{
-#if !defined(QT_BUILD_QMAKE_NO_GENERATORS)
if (Option::host_mode == Option::HOST_UNKNOWN_MODE
|| Option::target_mode == Option::TARG_UNKNOWN_MODE) {
Option::HOST_MODE host_mode;
@@ -1544,7 +1543,6 @@ void QMakeProject::validateModes()
}
}
}
-#endif // !defined(QT_BUILD_QMAKE_NO_GENERATORS)
}
bool
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 281417c..0163839 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -132,6 +132,7 @@ bootstrap { #Qt code
} else:win32 {
SOURCES += qfsfileengine_win.cpp qfsfileengine_iterator_win.cpp qsettings_win.cpp
win32-msvc*:LIBS += ole32.lib advapi32.lib
+ win32-g++:LIBS += -lole32 -luuid
}
qnx {