diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-10-14 15:04:23 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-10-19 11:18:31 +0000 |
commit | e062d5866fdcc481772d577c3c9e4261916cff43 (patch) | |
tree | 0d1e96bc872c3aae3e8d7c6fb720ca9ec7c5eb04 /share | |
parent | cea845f2a81299232fcec7c07203df4816ac893b (diff) |
pkgconfig: Merge packages and broken packages
This is required for the ongoing patch that merges the
dependencies on the pkgconfig level - a valid package
may change it's type to broken if it has unsatisfied
dependencies.
Change-Id: I21e6a214d8524fb95e6b837604ae6b7f32360d4f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/module-providers/qbspkgconfig.qbs | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/share/qbs/module-providers/qbspkgconfig.qbs b/share/qbs/module-providers/qbspkgconfig.qbs index ad6d64027..923355e57 100644 --- a/share/qbs/module-providers/qbspkgconfig.qbs +++ b/share/qbs/module-providers/qbspkgconfig.qbs @@ -161,19 +161,18 @@ ModuleProvider { } var pkgConfig = new PkgConfig(options); - var brokenPackages = pkgConfig.brokenPackages(); - if (brokenPackages.length !== 0) { - console.warn("Failed to load some pkg-config packages:"); - for (var i = 0; i < brokenPackages.length; ++i) { - console.warn(" " + brokenPackages[i].filePath - + ": " + brokenPackages[i].errorText); - } - } + + var brokenPackages = []; var packages = pkgConfig.packages(); for (var packageName in packages) { + var pkg = packages[packageName]; + if (pkg.isBroken) { + brokenPackages.push(pkg); + continue; + } var moduleName = getModuleName(packageName); - var moduleInfo = getModuleInfo(packages[packageName], staticMode); - var deps = getModuleDependencies(packages[packageName], staticMode); + var moduleInfo = getModuleInfo(pkg, staticMode); + var deps = getModuleDependencies(pkg, staticMode); var moduleDir = FileInfo.joinPaths(outputDir, moduleName); File.makePath(moduleDir); @@ -211,6 +210,15 @@ ModuleProvider { module.writeLine("}"); module.close(); } + + if (brokenPackages.length !== 0) { + console.warn("Failed to load some pkg-config packages:"); + for (var i = 0; i < brokenPackages.length; ++i) { + console.warn(" " + brokenPackages[i].filePath + + ": " + brokenPackages[i].errorText); + } + } + return ""; } } |