summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/makefile.cpp21
-rw-r--r--qmake/generators/makefile.h2
-rw-r--r--qmake/generators/unix/unixmake.cpp23
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp12
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h1
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp1
-rw-r--r--qmake/generators/win32/winmakefile.cpp19
7 files changed, 30 insertions, 49 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index abf0f60f8f..444556d467 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -3285,4 +3285,25 @@ MakefileGenerator::writePkgConfigFile()
t << endl;
}
+QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst)
+{
+ QString ret;
+ if (project->isEmpty(replace_rule)
+ || project->isActiveConfig("no_sed_meta_install")
+ || project->isEmpty("QMAKE_STREAM_EDITOR")) {
+ ret += "-$(INSTALL_FILE) \"" + src + "\" \"" + dst + "\"";
+ } else {
+ ret += "-$(SED)";
+ const ProStringList &replace_rules = project->values(replace_rule);
+ for (int r = 0; r < replace_rules.size(); ++r) {
+ const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")),
+ replace = project->first(ProKey(replace_rules.at(r) + ".replace"));
+ if (!match.isEmpty() /*&& match != replace*/)
+ ret += " -e \"s," + match + "," + replace + ",g\"";
+ }
+ ret += " \"" + src + "\" >\"" + dst + "\"";
+ }
+ return ret;
+}
+
QT_END_NAMESPACE
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index 0800ad317e..2f3e73ff6b 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -248,6 +248,8 @@ protected:
inline QStringList fileFixify(const QStringList& files, FileFixifyType fix, bool canon=true) const
{ return fileFixify(files, QString(), QString(), fix, canon); }
+ QString installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst);
+
public:
MakefileGenerator();
virtual ~MakefileGenerator();
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 7a9239c28d..da0da53e05 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -868,32 +868,15 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
if(!uninst.isEmpty())
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) \"" + dst_meta + "\"");
- const ProKey replace_rule("QMAKE_" + type.toUpper() + "_INSTALL_REPLACE");
const QString dst_meta_dir = fileInfo(dst_meta).path();
if(!dst_meta_dir.isEmpty()) {
if(!ret.isEmpty())
ret += "\n\t";
ret += mkdir_p_asstring(dst_meta_dir, true);
}
- QString install_meta = "$(INSTALL_FILE) \"" + src_meta + "\" \"" + dst_meta + "\"";
- if(project->isEmpty(replace_rule) || project->isActiveConfig("no_sed_meta_install")) {
- if(!ret.isEmpty())
- ret += "\n\t";
- ret += "-" + install_meta;
- } else {
- if(!ret.isEmpty())
- ret += "\n\t";
- ret += "-$(SED)";
- const ProStringList &replace_rules = project->values(replace_rule);
- for(int r = 0; r < replace_rules.size(); ++r) {
- const ProString &match = project->first(ProKey(replace_rules.at(r) + ".match")),
- &replace = project->first(ProKey(replace_rules.at(r) + ".replace"));
- if(!match.isEmpty() /*&& match != replace*/)
- ret += " -e \"s," + match + "," + replace + ",g\"";
- }
- ret += " \"" + src_meta + "\" >\"" + dst_meta + "\"";
- //ret += " || " + install_meta;
- }
+ if (!ret.isEmpty())
+ ret += "\n\t";
+ ret += installMetaFile(ProKey("QMAKE_" + type.toUpper() + "_INSTALL_REPLACE"), src_meta, dst_meta);
}
}
}
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index a5276b4b16..3e56911a38 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -476,11 +476,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProjectSingleConfig &tool)
<< attrTag("Condition", condition)
<< valueTag(tool.Configuration.PrimaryOutput);
}
- if (!tool.Configuration.PrimaryOutputExtension.isEmpty()) {
- xml<< tag("TargetExt")
- << attrTag("Condition", condition)
- << valueTag(tool.Configuration.PrimaryOutputExtension);
- }
+
if ( tool.Configuration.linker.IgnoreImportLibrary != unset) {
xml<< tag("IgnoreImportLibrary")
<< attrTag("Condition", condition)
@@ -681,11 +677,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
<< attrTag("Condition", condition)
<< valueTag(config.PrimaryOutput);
}
- if (!config.PrimaryOutputExtension.isEmpty()) {
- xml << tag("TargetExt")
- << attrTag("Condition", condition)
- << valueTag(config.PrimaryOutputExtension);
- }
+
if (config.linker.IgnoreImportLibrary != unset) {
xml << tag("IgnoreImportLibrary")
<< attrTag("Condition", condition)
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index 77bd2358fa..c3fae94179 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -860,7 +860,6 @@ public:
QString ConfigurationName;
QString OutputDirectory;
QString PrimaryOutput;
- QString PrimaryOutputExtension;
QString ProgramDatabase;
triState RegisterOutput;
useOfATL UseOfATL;
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 048b4e49b0..b082fcb307 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -944,7 +944,6 @@ void VcprojGenerator::initConfiguration()
conf.PrimaryOutput = project->first("TARGET").toQString();
if ( !conf.PrimaryOutput.isEmpty() && !project->first("TARGET_VERSION_EXT").isEmpty() && project->isActiveConfig("shared"))
conf.PrimaryOutput.append(project->first("TARGET_VERSION_EXT").toQString());
- conf.PrimaryOutputExtension = project->first("TARGET_EXT").toQString();
}
conf.Name = project->values("BUILD_NAME").join(' ');
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index d9425491ec..3831e08ed4 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -392,7 +392,7 @@ void Win32MakefileGenerator::processRcFileVar()
QByteArray rcString;
QTextStream ts(&rcString, QFile::WriteOnly);
- QStringList vers = project->first("VERSION").toQString().split(".");
+ QStringList vers = project->first("VERSION").toQString().split(".", QString::SkipEmptyParts);
for (int i = vers.size(); i < 4; i++)
vers += "0";
QString versionString = vers.join('.');
@@ -851,22 +851,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
}
if(!ret.isEmpty())
ret += "\n\t";
- const ProKey replace_rule("QMAKE_PKGCONFIG_INSTALL_REPLACE");
- if (project->isEmpty(replace_rule)
- || project->isActiveConfig("no_sed_meta_install")
- || project->isEmpty("QMAKE_STREAM_EDITOR")) {
- ret += "-$(INSTALL_FILE) \"" + pkgConfigFileName(true) + "\" \"" + dst_pc + "\"";
- } else {
- ret += "-$(SED)";
- const ProStringList &replace_rules = project->values(replace_rule);
- for (int r = 0; r < replace_rules.size(); ++r) {
- const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")),
- replace = project->first(ProKey(replace_rules.at(r) + ".replace"));
- if (!match.isEmpty() /*&& match != replace*/)
- ret += " -e \"s," + match + "," + replace + ",g\"";
- }
- ret += " \"" + pkgConfigFileName(true) + "\" >\"" + dst_pc + "\"";
- }
+ ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true), dst_pc);
if(!uninst.isEmpty())
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) \"" + dst_pc + "\"");