aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qbs/modules/cpp/msvc.js33
1 files changed, 19 insertions, 14 deletions
diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js
index 7773065d1..32d13bc52 100644
--- a/share/qbs/modules/cpp/msvc.js
+++ b/share/qbs/modules/cpp/msvc.js
@@ -192,22 +192,27 @@ function prepareLinker(product, inputs, outputs) {
args.push(fileName)
}
- var staticLibraries = ModUtils.modulePropertiesFromArtifacts(product, inputs.staticlibrary,
- "cpp", "staticLibraries");
- for (i in staticLibraries) {
- var staticLibrary = staticLibraries[i];
- if (!staticLibrary.match(/\.lib$/i))
- staticLibrary += ".lib";
- args.push(staticLibrary)
- }
- var dynamicLibraries = ModUtils.moduleProperties(product, "dynamicLibraries");
- for (i in dynamicLibraries) {
- var dynamicLibrary = dynamicLibraries[i];
- if (!dynamicLibrary.match(/\.lib$/i))
- dynamicLibrary += ".lib";
- args.push(dynamicLibrary)
+ function pushLibs(libs)
+ {
+ if (!libs)
+ return;
+ var s = {};
+ var c = libs.length;
+ for (var i = 0; i < c; ++i) {
+ var lib = libs[i];
+ if (!lib.match(/\.lib$/i))
+ lib += ".lib";
+ if (s[lib])
+ continue;
+ s[lib] = true;
+ args.push(lib);
+ }
}
+ pushLibs(ModUtils.modulePropertiesFromArtifacts(product, inputs.staticlibrary,
+ "cpp", "staticLibraries"));
+ pushLibs(ModUtils.moduleProperties(product, "dynamicLibraries"));
+
if (product.moduleProperty("cpp", "entryPoint"))
args.push("/ENTRY:" + product.moduleProperty("cpp", "entryPoint"));