commit 1eb07ed44f143bffdc40667c7d577c7867eacf4e Author: Басканов Антон Сергеевич Date: Mon Dec 23 19:39:01 2013 +0700 Propagate cpp.staticLibraries and cpp.dynamicLibraries diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs index c2ab88b..b47c505 100644 --- a/share/qbs/modules/cpp/GenericGCC.qbs +++ b/share/qbs/modules/cpp/GenericGCC.qbs @@ -222,12 +222,22 @@ CppModule { var impliedLibs = ModUtils.moduleProperties(lib, 'staticLibraries') result = result.concat(impliedLibs); } + var productLibs = ModUtils.moduleProperties(product, 'staticLibraries') + result = result.concat(productLibs) return result } cpp.dynamicLibraries: { var result = [] for (var i in inputs.dynamiclibrary) result.push(inputs.dynamiclibrary[i].fileName); + for (var i in inputs.staticlibrary) { + var lib = inputs.staticlibrary[i] + result.push(lib.fileName) + var impliedLibs = ModUtils.moduleProperties(lib, 'dynamicLibraries') + result = result.concat(impliedLibs); + } + var productLibs = ModUtils.moduleProperties(product, 'dynamicLibraries') + result = result.concat(productLibs) return result } } diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js index 91db86e..cd2572b 100644 --- a/share/qbs/modules/cpp/gcc.js +++ b/share/qbs/modules/cpp/gcc.js @@ -1,7 +1,7 @@ function linkerFlags(product, inputs) { var libraryPaths = ModUtils.moduleProperties(product, 'libraryPaths'); - var dynamicLibraries = ModUtils.moduleProperties(product, "dynamicLibraries"); + var dynamicLibraries = ModUtils.modulePropertiesFromArtifacts(product, inputs.staticlibrary, 'cpp', 'dynamicLibraries'); var staticLibraries = ModUtils.modulePropertiesFromArtifacts(product, inputs.staticlibrary, 'cpp', 'staticLibraries'); var frameworkPaths = ModUtils.moduleProperties(product, 'frameworkPaths'); var systemFrameworkPaths = ModUtils.moduleProperties(product, 'systemFrameworkPaths');