aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qbs/modules/cpp/gcc.js14
-rw-r--r--share/qbs/modules/cpp/msvc.js10
2 files changed, 18 insertions, 6 deletions
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index 758c05de9..2ebb00456 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -114,19 +114,25 @@ function collectLibraryDependencies(product, isDarwin) {
}
function addExternalLibs(obj) {
+ function ensureArray(a) {
+ return Array.isArray(a) ? a : [];
+ }
+ function sanitizedModuleListProperty(obj, moduleName, propertyName) {
+ return ensureArray(ModUtils.sanitizedModuleProperty(obj, moduleName, propertyName));
+ }
var externalLibs = [].concat(
- ModUtils.sanitizedModuleProperty(obj, "cpp", "staticLibraries"),
- ModUtils.sanitizedModuleProperty(obj, "cpp", "dynamicLibraries"));
+ ensureArray(sanitizedModuleListProperty(obj, "cpp", "staticLibraries")),
+ ensureArray(sanitizedModuleListProperty(obj, "cpp", "dynamicLibraries")));
for (var i = 0, len = externalLibs.length; i < len; ++i)
addObject({ direct: true, filePath: externalLibs[i] }, Array.prototype.push);
if (isDarwin) {
externalLibs = [].concat(
- ModUtils.sanitizedModuleProperty(obj, "cpp", "frameworks"));
+ ensureArray(sanitizedModuleListProperty(obj, "cpp", "frameworks")));
for (var i = 0, len = externalLibs.length; i < len; ++i)
addObject({ direct: true, filePath: externalLibs[i], framework: true },
Array.prototype.push);
externalLibs = [].concat(
- ModUtils.sanitizedModuleProperty(obj, "cpp", "weakFrameworks"));
+ ensureArray(sanitizedModuleListProperty(obj, "cpp", "weakFrameworks")));
for (var i = 0, len = externalLibs.length; i < len; ++i)
addObject({ direct: true, filePath: externalLibs[i], framework: true,
symbolLinkMode: "weak" }, Array.prototype.push);
diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js
index de99d63ef..2d111eb41 100644
--- a/share/qbs/modules/cpp/msvc.js
+++ b/share/qbs/modules/cpp/msvc.js
@@ -261,9 +261,15 @@ function collectLibraryDependencies(product) {
}
function addExternalLibs(obj) {
+ function ensureArray(a) {
+ return Array.isArray(a) ? a : [];
+ }
+ function sanitizedModuleListProperty(obj, moduleName, propertyName) {
+ return ensureArray(ModUtils.sanitizedModuleProperty(obj, moduleName, propertyName));
+ }
var externalLibs = [].concat(
- ModUtils.sanitizedModuleProperty(obj, "cpp", "staticLibraries"),
- ModUtils.sanitizedModuleProperty(obj, "cpp", "dynamicLibraries"));
+ sanitizedModuleListProperty(obj, "cpp", "staticLibraries"),
+ sanitizedModuleListProperty(obj, "cpp", "dynamicLibraries"));
externalLibs.forEach(function (libName) {
if (!libName.match(/\.lib$/i) && !libName.startsWith('@'))
libName += ".lib";