summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-02-26 13:12:25 +0100
committerTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-02-26 13:12:25 +0100
commit883efa10cdfd81cc4ccbcca55d42a454877d146e (patch)
tree5a452b6ae315da806c5eba7a82ef8c28169879bd
parentc6eae1acf8939e512d742578ef3c0c710d3c1653 (diff)
qmake: Prevent duplicate libaries from being added to the link phase
Change-Id: I5ec7acb8f060e9d9bbd8cdb95d40ace03cffe9c7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp32
1 files changed, 17 insertions, 15 deletions
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index c5bf7bb7c9..87085318bc 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -906,21 +906,23 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
library = fileFixify(library);
QString filetype = xcodeFiletypeForFilename(library);
QString key = keyFor(library);
- t << "\t\t" << key << " = {" << "\n"
- << "\t\t\t" << writeSettings("isa", "PBXFileReference", SettingsNoQuote) << ";" << "\n"
- << "\t\t\t" << writeSettings("name", escapeFilePath(name)) << ";" << "\n"
- << "\t\t\t" << writeSettings("path", escapeFilePath(library)) << ";" << "\n"
- << "\t\t\t" << writeSettings("sourceTree", sourceTreeForFile(library)) << ";" << "\n";
- if (!filetype.isNull())
- t << "\t\t\t" << writeSettings("lastKnownFileType", filetype) << ";" << "\n";
- t << "\t\t" << "};" << "\n";
- project->values("QMAKE_PBX_LIBRARIES").append(key);
- QString build_key = keyFor(library + ".BUILDABLE");
- t << "\t\t" << build_key << " = {" << "\n"
- << "\t\t\t" << writeSettings("fileRef", key) << ";" << "\n"
- << "\t\t\t" << writeSettings("isa", "PBXBuildFile", SettingsNoQuote) << ";" << "\n"
- << "\t\t" << "};" << "\n";
- project->values("QMAKE_PBX_BUILD_LIBRARIES").append(build_key);
+ if (!project->values("QMAKE_PBX_LIBRARIES").contains(key)) {
+ t << "\t\t" << key << " = {" << "\n"
+ << "\t\t\t" << writeSettings("isa", "PBXFileReference", SettingsNoQuote) << ";" << "\n"
+ << "\t\t\t" << writeSettings("name", escapeFilePath(name)) << ";" << "\n"
+ << "\t\t\t" << writeSettings("path", escapeFilePath(library)) << ";" << "\n"
+ << "\t\t\t" << writeSettings("sourceTree", sourceTreeForFile(library)) << ";" << "\n";
+ if (!filetype.isNull())
+ t << "\t\t\t" << writeSettings("lastKnownFileType", filetype) << ";" << "\n";
+ t << "\t\t" << "};" << "\n";
+ project->values("QMAKE_PBX_LIBRARIES").append(key);
+ QString build_key = keyFor(library + ".BUILDABLE");
+ t << "\t\t" << build_key << " = {" << "\n"
+ << "\t\t\t" << writeSettings("fileRef", key) << ";" << "\n"
+ << "\t\t\t" << writeSettings("isa", "PBXBuildFile", SettingsNoQuote) << ";" << "\n"
+ << "\t\t" << "};" << "\n";
+ project->values("QMAKE_PBX_BUILD_LIBRARIES").append(build_key);
+ }
}
if(remove)
tmp.removeAt(x);