diff options
-rw-r--r-- | share/qbs/modules/cpp/gcc.js | 14 | ||||
-rw-r--r-- | share/qbs/modules/cpp/msvc.js | 10 |
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"; |