diff options
Diffstat (limited to 'qmake/generators')
-rw-r--r-- | qmake/generators/makefile.cpp | 21 | ||||
-rw-r--r-- | qmake/generators/makefile.h | 2 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 23 | ||||
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 12 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.h | 1 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 1 | ||||
-rw-r--r-- | qmake/generators/win32/winmakefile.cpp | 19 |
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 + "\""); |