summaryrefslogtreecommitdiff
path: root/src/lib/libs.qbs
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-05-22 14:45:25 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2021-09-23 11:32:23 +0000
commite87dd50dd5a74d0ddc8f9753a67a0a2500947e5f (patch)
treecd3085b0a6f5e8ec08b14ff166210e632e6b2a32 /src/lib/libs.qbs
parent91e0274d265a8ce7070c3d039700341b8d31cf5c (diff)
downloadqbs-e87dd50dd5a74d0ddc8f9753a67a0a2500947e5f.tar.gz
Long live qbs-pkgconfig!
This patchset introduce a static library for parsing .pc files. Code is based on the original pkg-config source code https:// gitlab.freedesktop.org/pkg-config/pkg-config and is written in pure C++ (except for the places where we need access to filesystem as std::filesystem is not available for all platforms - in that case, Qt classes are used) Parsing .pc files manually allows to have more control over dependencies between modules, e.g. to generate a standalone module per one .pc file and merge properties using Qbs itself, not via pkg-config. Library is almost feature-complete and all tests copied from pkg-config pass. Some functionality is omitted (e.g. prefix variables (what is this?) or validating dependencies since Qbs does this as well) Bechmark shows that parsing ~100 files takes about 10-15ms. Running pkg-config on the same set of files takes ~4 seconds: RESULT : TestPkgConfig::benchSystem(): 14 msecs per iteration (total: 57, iterations: 4) Fixes: QBS-1615 Change-Id: I5bfdfa588aa04d9d69fd738dd2beea14174c0242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/libs.qbs')
-rw-r--r--src/lib/libs.qbs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/libs.qbs b/src/lib/libs.qbs
index 264036e1a..10890bb46 100644
--- a/src/lib/libs.qbs
+++ b/src/lib/libs.qbs
@@ -2,6 +2,7 @@ Project {
references: [
"corelib/corelib.qbs",
"msbuild/msbuild.qbs",
+ "pkgconfig/pkgconfig.qbs",
"scriptengine/scriptengine.qbs",
]
}